Linux tips - pifou25/docker-jeedom GitHub Wiki
Gérer l'espace disque
ncdu petit utilitaire bien pratique pour visualiser la taille de chaque répertoire et naviguer
du -h -d 1 2>/dev/null pour lister les répertoires et leur taille (et ignorer les erreurs de type access denied)
docker container logs
Vérifier la taille des logs par containers... on a des id de containers, voir ici pour récupérer leur nom:
sudo sh -c "du -ch /var/lib/docker/containers/*/*-json.log"
Si c'est les logs des containers docker, il faut gérer leur option individuellement par exemple dans un docker-compose.yaml:
logging:
options:
max-size: "10m"
max-file: "1"
journalctl log size
diminuer la tailla avec la valeur cousie ex: journalctl --vacuum-size=200M
https://www.loggly.com/ultimate-guide/managing-journal-size/
nettoyer le cache du gestionnaire apt
en général dans /var/cache/apt/archives:
sudo apt-get clean
Diminuer le répertoire .git
git repack -a -d -f --depth=250 --window=250
Plus agressif mais est une mauvaise pratique:
git gc --aggressive --prune=now
S'il y a beaucoup de repo git dans le disque, on peut automatiser la recherche & repack avec ce genre de script:
#!/bin/bash
find / -type d -name ".git" 2>/dev/null | while read -r dir; do
size=$(du -sm "$dir" 2>/dev/null | cut -f1)
if [ "$size" -gt 50 ]; then
echo "Répertoire trop gros détecté : $dir (${size} Mo)"
# repertoire parent du .git pour repack dans un (subshell)
repo_dir=$(dirname "$git_dir")
echo "Nettoyage du dépôt : $repo_dir"
(cd "$repo_dir" && git repack -a -d -f --depth=250 --window=250)
fi
done
Ecraser un fichier énorme sur lequel on n'a pas les droits
echo "" | sudo tee /path/to/the/file
Supprimer les fichiers plus vieux que 30 jours
Utile pour purger les logs par exemple:
find /path/to/directory -type f -mtime +30 -exec rm -f {} \;
- /path/to/directory == The directory where the search begins. Replace this with the actual path.
- -type f == Searches only for files (ignores directories).
- -mtime +30 == Finds files modified more than 30 days ago.
- -exec rm -f {} ; == Deletes each file found (rm -f forces deletion).