Files
MarkdownNotes/Fun with Find.md
2023-04-26 09:27:33 -04:00

1.1 KiB

Fun with Find

Find the total size of certain files within a directory branch

find <path> -type f -iname '*-bin*' -exec du -ch {} +

Find files larger than...

100M:

find . -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

1G:

find . -type f -size +1000000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

...and so on...


Find, archive and purge old files

# Find disk space used by logfiles older that 360 days
find /var/log/hbase -type f -iname "*log*" -mtime +360 -exec du -ch {} +

# Archive those files to another location
find /var/log/hbase -type f -iname "*log*" -mtime +360 -print0 | xargs -0 tar cfz /tmp/hbase-logs.tgz

# Delete the original files
find /var/log/hbase -type f -iname "*log*" -mtime +360 -delete

Replace hbase with the log directory you want to search. If you don't need to save the archives anywhere, skip step two.

Reference


Tags: howto