Tipy na linuxové příkazy pro hledání volného místa

Někdy se stane, že potřebujeme najít, kde nám na serveru uniká volné místo. Když ho hledám já, tak postupuji následovně.

Ukázka výpisu (skoro čistý VPS :-))

Podle velikosti disku a množství volného místa si stanovím, že mě třeba zajímají soubory větší jak 100 MB, tak si je dám vyhledat a přitom vypsat do souboru. Používám k tomu linuxový příkaz find, které mu říkám, že chci hledat v celém rootovském adresáři všechny soubory (type -f) o velikosti 100 MB a větších zobrazených s velikostí vyjádřenou ve snadno čitelné podobě s jednotkami. A za “rourou” následuji již jen seřazení od nejmenšího po největší (bohužel to řadí vzestupně jen čísla bez ohledu na jednotky) a vypíšu si výsledek do souboru v domovském adresáři.

find / -type f -size +100M -exec du -h {} ; | sort -n > ~/big-files.txt

Po vypsání obsahu souboru pomocí cat ~/big-files.txt můžu zjistit, že je tam příliš mnoho souborů a tak můžu filtrovat dál třeba ty soubory, které jsou starší jak jeden měsíc a větší jak 250MB. V příapdě stále velkého počtu výsledků se parametry hledání mohou dále upravovat.

find / -type f  -mtime +30 -size +250M -exec du -h {} ; | sort -n > ~/big-files.txt

A pokud by šlo třeba o složku se zálohami, kdy chceme ponechat třeba všechny mladší jednoho měsíce, tak stačí použít další příkaz. Před provedením doporučuji modifikaci pro výpis, kdy zjistíte, zda opravdu tyto soubory chce smazat (kvůli chybě v cestě, stáří a pod.)!

find /cesta/k/souborum -mtime +30 -exec rm {} ;

A pokud tyto kroky provádíte častěji, tak je vhodné vytvořit si skript, který bude Cronem pravidelně spouštěn.