在 Linux 中使用 Bash 脚本删除早于 “X” 天的文件/文件夹

直接进入场景:
bash !/bin/bin TARGET_DIR="/var/log" DAYS_OLD=7 REPORT_FILE="/tmp/deleted_items_$(date +%Y%m%d%H%M).log"
find "$TARGET_DIR" -type f -mtime +"$DAYS_OLD" -exec ls -l {} \; >“$REPORT_FILE” 查找“$TARGET_DIR”-type f -mtime +“$DAYS_OLD”-exec rm -f {} \; find "$TARGET_DIR" -type d -mtime +"$DAYS_OLD" -exec rm -rf {} \;
if [ -s "$REPORT_FILE" ];然后 mail -s“清理报告:$(日期)”admin@example.com <“$REPORT_FILE” fi
rm -f "$REPORT_FILE"
操作:
1 .保存为清洁 2 . chmod +x clean.sh 3 . crontab -e add 0 2 /path/to/cleanup.sh
注意:先手动运行测试,用ls替换rm即可看到要删除的文件。

linux中怎么查看文件是否存在

布鲁克芬-科曼多恩直接。
手动 shell 脚本。
Bruk finn 是一个备用的tid 和问题者。
稿件处理和评估。

如何在Linux中查找大文件?

说实话,在Linux中查找大文件让我在做系统维护的时候不止一次头疼过。
硬盘突然满了,但不知道问题出在哪里。
这时候,命令行就成了救星。
下面我就和大家说说我已经用过的方法。
可能有点长,但是已经通过坑验证了。

我们先来说说最常用的搜索命令。
这东西太灵活了,几乎就像一把瑞士军刀。
例如,如果要查找特定目录中所有大于 1 00MB 的文件,命令将如下所示:
bash 搜索 /path/to/search -type f -size +1 00M
在这里,您应该将 /path/to/search 替换为您怀疑的目录,例如 /home/user 或 /var/log。
-type f 只搜索文件,不计算目录。
这一点非常重要,否则一堆空证据就会破坏结果。
+ in -size +1 00M 表示大于,如果换成-,表示小于,无符号表示等于。
数字后缀M为单位,k为KB,G为GB。
执行该命令后,会显示一长串文件名和大小,一目了然。

但有时您可能只想查看最大的,将它们全部列出来会浪费时间。
这时候就应该用du,对组合拳进行排序。
du 检查磁盘使用情况。
使用-h参数,数字将被转换为人类可读的格式,例如1 .2 G,而不是一串数字。
例如,如果查看当前目录中最大的 1 0 个文件或目录:
bash 做-h。
|排序 -h |尾-1 0
该命令的含义是:du -h。
它将列出当前目录中每个文件和目录的大小,sort -h将按人类可读的大小排序,tail -1 0将最终取1 0最大的行。
请注意,此类型有一个 -h 参数,专门处理可读文件大小。
If you delete it, an error may occur.
如果你想找到特定路径下最大的文件,比如/tmp,可以这样玩:
bash 搜索 /tmp -type f -exec du -h {} + |排序 -h |尾-2 0
这里搜索先找到所有文件,然后是 -exec du -h {} +,表示将找到的每个文件名({} 将替换为实际文件名)传递给 du -h, + 表示所有文件都已被执行。
然后排序-h,tail -2 0,选择最大的2 0。

我试过一次。
我正在备份目录中查找大小为数千 GB 的大文件。
扫描整个磁盘查找 /-type f -size +1 00M 非常慢,卡了很长时间。
后来换了搜索方式进行哈希搜索,例如先搜索 /var/log,然后搜索 /home/users。
速度顿时更快了。
因此,在检查之前有一个大方向很重要。

还有另一个提示。
如果经常需要检查大文件,最好将命令编写为脚本。
例如我有一个名为find_large_files.sh的脚本,内容为:
bash !/bin/bash 在 /home/user 下查找大于 5 00MB 的文件并列出 2 0 个最大的文件 搜索 /home/user -type f -size +5 00M -exec du -h {} + |排序 -h |尾-2 0
保存后,chmod +x find_large_files.sh。
将来,您只需要 ./find_large_files.sh 即可使用它。
我经常将这些常用命令写在脚本中,以避免每次都写很长的列表。

老实说,一旦掌握了使用这些命令的窍门,找到大文件就不那么难了。
但当你第一次学习它时,很容易陷入参数之中。
例如,忘记添加 -h 会导致排序错误,或者缺少 -type f 并检查目录。
所以,真正的知识来自于实践,经常玩弄命令,就会慢慢变得得心应手。