跳到主要内容

Linux日志清理

清理Docker:

truncate -s 0 /var/lib/docker/containers/*/*-json.log

查看当前目录下的文件大小:

sudo du -ah --max-depth=1 | sort -h

查看某个目录的大小

du -sh /home

查看当前目录下所有文件夹大小:

 du -h -d 1

删除目录下匹配的文件

[root@dev141 home]# ls
1panel baas dapp-demo data-governance did feedback generator keycert middleware nacos skywalking website
auth contract dapp-docshare data-screen docker gateway images license minio seata verify

我现在有这么多目录,当前在/home目录下, 这些目录里面有的有logs文件夹,我需要删除,例如/home/baas/logs文件夹,有的没有logs文件夹的就不用管,同时,如果存在.jar文件,也全部删除

可以编写一个脚本或者直接使用命令批量操作这些目录中的 logs 文件夹和 .jar 文件

find /home -type d -name logs -exec rm -rf {} + -o -type f -name "*.jar" -exec rm -f {} +

说明:

  1. find /home:从 /home 目录开始递归查找。
  2. -type d -name logs:查找名为 logs 的目录。
  3. -exec rm -rf {}:对找到的 logs 目录执行删除操作。
  4. -type f -name "*.jar":查找以 .jar 结尾的文件。
  5. -exec rm -f {}:删除找到的 .jar 文件。
  6. -o:逻辑 "OR",表示匹配 logs 目录或 .jar 文件。

文件传送:

rsync -avz source root@ip:/target