找出来超过1个G的,并清理
你可以使用以下命令清理日志文件中大小超过 1GB 且带有日期的文件(保留未带日期的日志文件):
find . -type f -name '*2024*.log' -size +1G -exec rm -v {} \;
说明:
find .
搜索当前目录及其子目录中的文件。-type f
仅匹配文件。-name 'rm-front-*2024-*.log'
匹配带日期格式的日志文件(rm-front-YYYY-MM-DD.log
)。-size +1G
查找大小超过 1GB 的文件(+1G
表示大于 1GB)。-exec rm -v {} \;
对找到的文件执行rm
命令,并使用-v
输出删除的文件名。
如果你也想清理 2025
年的日志:
可以使用如下命令:
find . -type f \( -name '*2024*.log' -o -name '*2025*.log' \) -size +1G -exec rm -v {} \;
注意事项:
- 请在运行前检查匹配的文件是否正确,可以先用以下命令预览:
find . -type f -name '*2024*.log' -size +1G
- 如果确认无误,再执行删除命令。
找出来超过1个G的,并设置为空
第一步:找出超过 1GB 的 .log
文件,并显示文件大小
find . -type f -name '*.log' -size +1G -exec du -h {} \;
示例输出:
2.1G ./rm-front-2024-11-11.0.log
1.5G ./error.log
第二步:确认无误后,清空这些文件的内容
将以上命令筛选出的文件逐个清空内容:
find . -type f -name '*.log' -size +1G -exec sh -c 'echo "" > "{}"; echo "Cleared: {}"' \;
说明:
- 每个文件内容会被清空。
- 输出已清空的文件路径。
合并步骤(可选)
如果需要同时显示文件大小并清空,可以用以下命令:
find . -type f -name '*.log' -size +1G -exec sh -c 'du -h "{}"; echo "" > "{}"; echo "Cleared: {}"' \;
这个命令会先显示文件大小,然后清空内容,同时确认已清空的文件路径。