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