1.5 KiB
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.
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 {} \;