Files
MarkdownNotes/blog - fun with find.md
2024-02-02 14:30:18 -05:00

1.5 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


Find files by group and mode

Note: from Teachingbooks web directory permission fix. at OverDrive

Find files that have group: www-data and current permissions: 644, then update the permissions to 664

find <directory> -type f -group www-data -perm 644 -exec ls -al {} \;
find <directory> -type f -group www-data -perm 644 -exec chmod g+w {} \;

Reference