add recover script
This commit is contained in:
63
scripts/recover.sh
Executable file
63
scripts/recover.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# scripts/recover.sh - Script de récupération après erreur de mise à jour
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "🔧 Script de récupération Nextcloud"
|
||||
echo ""
|
||||
|
||||
# 1. Arrêter tous les conteneurs
|
||||
echo "⏹️ Arrêt de tous les conteneurs..."
|
||||
docker-compose down --remove-orphans || {
|
||||
echo "⚠️ Erreur lors de l'arrêt normal, tentative de force..."
|
||||
docker-compose kill 2>/dev/null || true
|
||||
docker-compose rm -f 2>/dev/null || true
|
||||
}
|
||||
|
||||
# 2. Nettoyer les conteneurs orphelins
|
||||
echo "🧹 Nettoyage des conteneurs orphelins..."
|
||||
docker container prune -f
|
||||
|
||||
# 3. Redémarrer les services
|
||||
echo "▶️ Redémarrage des services..."
|
||||
if ! docker-compose up -d; then
|
||||
echo "❌ Erreur lors du redémarrage"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 4. Attendre que Nextcloud soit prêt
|
||||
echo "⏳ Attente du démarrage de Nextcloud..."
|
||||
for i in {1..60}; do
|
||||
if docker-compose exec -T nextcloud curl -f http://localhost/status.php >/dev/null 2>&1; then
|
||||
echo "✅ Nextcloud prêt"
|
||||
break
|
||||
fi
|
||||
if [ "$i" -eq 60 ]; then
|
||||
echo "❌ Timeout: Nextcloud n'est pas prêt"
|
||||
echo "📋 Logs des conteneurs:"
|
||||
docker-compose logs --tail=50 nextcloud
|
||||
exit 1
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# 5. Désactiver le mode maintenance
|
||||
echo "▶️ Désactivation du mode maintenance..."
|
||||
if docker-compose exec -T -u www-data nextcloud php occ maintenance:mode --off; then
|
||||
echo "✅ Mode maintenance désactivé"
|
||||
else
|
||||
echo "⚠️ Impossible de désactiver le mode maintenance"
|
||||
fi
|
||||
|
||||
# 6. Vérifier le statut
|
||||
echo ""
|
||||
echo "📊 Statut final:"
|
||||
docker-compose exec -T -u www-data nextcloud php occ status
|
||||
|
||||
echo ""
|
||||
echo "✅ Récupération terminée !"
|
||||
echo ""
|
||||
echo "Prochaines étapes:"
|
||||
echo " 1. Vérifiez que tout fonctionne: make health"
|
||||
echo " 2. Consultez les logs si nécessaire: make logs"
|
||||
echo " 3. Si problème persiste, restaurez le backup: make restore backups/nextcloud_backup_20251216_035002.tar.gz"
|
||||
Reference in New Issue
Block a user