64 lines
1.9 KiB
Bash
Executable File
64 lines
1.9 KiB
Bash
Executable File
#!/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"
|