GNU/Linux >> Linux Esercitazione >  >> Linux

calcola lo spazio su disco totale utilizzato dai file più vecchi di 180 giorni usando find

du non riassumerebbe se gli passi un elenco di file.

Invece, reindirizza l'output a cut e let awk riassumere. Quindi puoi dire:

find . -mtime +180 -exec du -ks {} \; | cut -f1 | awk '{total=total+$1}END{print total/1024}'

Nota che l'opzione -h per visualizzare il risultato in un formato leggibile dall'uomo è stato sostituito da -k che equivale alla dimensione del blocco di 1K. Il risultato è presentato in MB (vedi total/1024 sopra).


@PeterT ha ragione. Quasi tutte queste risposte invocano un comando (du) per ogni file, che richiede molte risorse, è lento e non necessario. Il modo più semplice e veloce è questo:

find . -type f -mtime +356 -printf '%s\n' | awk '{total=total+$1}END{print total/1024}'

Perché non questo?

find /path/to/search/in -type f -mtime +180 -print0 | du -hc --files0-from - | tail -n 1

Linux
  1. Come eliminare tutti i file più vecchi di X numero di giorni in Linux?

  2. Perché Find -mtime +1 restituisce solo file più vecchi di 2 giorni?

  3. Df dice che ho 20 g di spazio su disco in più utilizzato rispetto a Du. Perché??

  4. Come rimuovere file più vecchi di N giorni usando tmpreaper in Linux

  5. trova e rimuovi i file con spazio usando il comando trova su Linux

Come eliminare file più vecchi di giorni specificati in Linux

Trova tutti i file più vecchi di un minuto

Eliminazione corretta di file più vecchi di 30 giorni

Eliminazione di file più vecchi di 30 giorni in base al nome del file come data

Come posso determinare cosa sta causando un lento aumento dello spazio su disco utilizzato in Linux?

Linux:utilizzo di find per individuare i file più vecchi di <date>