🧹 Nettoyer /home sur Linux : supprimer les archives inutiles sans risquer vos sauvegardes
🔍 Contexte
Sur les serveurs Linux multi-utilisateurs, le dossier /home peut rapidement se remplir de fichiers d’archives (.zip, .tar, .tar.gz, etc.). Souvent, ce sont des sauvegardes manuelles oubliées, des exports temporaires ou des duplications. Leur accumulation peut saturer le disque et ralentir le système.
⚠️ Précautions avant suppression
- 🔒 Vérifiez les sauvegardes externes (Jetpack Backup, rsync, rclone…)
- ⚙️ Contrôlez les dépendances : certains fichiers peuvent être utilisés par des scripts de restauration.
- 👥 Informez les utilisateurs : ils peuvent avoir des routines locales non documentées.
- 📄 Testez sans supprimer avant tout (simulation).
🧰 Étape 1 — Simulation du nettoyage
Listez les fichiers concernés sans les supprimer et consignez-les dans un log :
sudo find /home -type f \( -iname "*.zip" -o -iname "*.tar" -o -iname "*.tar.gz" -o -iname "*.tgz" -o -iname "*.tar.bz2" \) -print | tee /var/log/archive_cleanup_preview.log💡 Les résultats sont enregistrés dans /var/log/archive_cleanup_preview.log pour vérification.
🧯 Étape 2 — Exclure les répertoires sensibles
Certains répertoires (comme ~/.cache ou backups) ne doivent pas être supprimés :
sudo find /home \
-path "/home/*/.cache" -prune -o \
-path "/home/*/backups" -prune -o \
-type f \( -iname "*.zip" -o -iname "*.tar"* \) -print🧹 Étape 3 — Suppression contrôlée
Après validation, exécutez la suppression en loguant les actions :
sudo find /home -type f \( -iname "*.zip" -o -iname "*.tar" -o -iname "*.tar.gz" -o -iname "*.tgz" -o -iname "*.tar.bz2" \) -delete -print | tee -a /var/log/archive_cleanup.log⚠️ Attention : cette commande ne demande pas confirmation. Utilisez-la uniquement après validation du fichier de prévisualisation.
💡 Étape 4 — Vérifier le gain d’espace
df -h /home
sudo du -sh /home/* | sort -hCes commandes vous permettent de mesurer l’espace récupéré par utilisateur.
🤖 Bonus — Script Bash sécurisé
#!/bin/bash
LOG="/var/log/archive_cleanup.log"
TARGET="/home"
echo "📋 Simulation des fichiers d'archives dans $TARGET..."
sudo find "$TARGET" -type f \( -iname "*.zip" -o -iname "*.tar"* \) -print | tee "$LOG"
read -p "Confirmer la suppression ? (oui/non) : " confirm
if [ "$confirm" = "oui" ]; then
sudo find "$TARGET" -type f \( -iname "*.zip" -o -iname "*.tar"* \) -delete -print | tee -a "$LOG"
echo "✅ Nettoyage terminé. Résumé dans $LOG"
else
echo "❌ Opération annulée."
fi
Ce script peut être exécuté manuellement, ou automatisé via cron après validation des sauvegardes.
❓ FAQ
Comment savoir si un fichier .tar est une sauvegarde critique ?
Vérifiez sa date, son emplacement, et s’il est référencé dans un script cron ou de restauration.
Est-ce que cette méthode fonctionne sur tous les serveurs Linux ?
Oui, elle est compatible avec Debian, Ubuntu, CentOS, AlmaLinux et autres distributions.
Peut-on automatiser cette tâche ?
Oui, via cron ou systemd timer, avec log et alertes Telegram si besoin.
🧭 Conclusion
Cette méthode permet de libérer de l’espace disque sans risquer de supprimer des fichiers critiques. Sur un serveur partagé, la prudence reste la règle : vérifiez, documentez, puis nettoyez.
Rédigé par : Christian – Nitrohost




