最近在研究网易爆米花刮削小雅资源,由于网盘的风控策略,短时间内连续大量访问会联系报错。导致产生一堆小雅容器报错日志,想要查找有用的信息需要翻好多页,而且docker容器的日志自己并不会自动删除,就算是重启容器还会保留之前的日志一直累计,除非占用掉了全部存储空间。
网上也有很多清理docker日志的方法,比如限制日志文件大小,设置定时任务等等。
因为我的docker是跑在openwrt系统下面的,所以有些方法不太适用。最后在博客园找到一篇文章,里面的脚本基本上适用我目前的环境,只需要修改里面的docker安装路径即可。
创建脚本
首先需要确定你docker的安装路径记录下来,例如我这边docker安装在了-/mnt/mmc1-4/docker目录下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| mkdir -p /opt/docker-sh
cat > /opt/docker-sh/clean_docker_log.sh<< EOF #!/bin/sh echo "======== start clean docker containers logs ========" logs=\$(find /mnt/mmc1-4/docker/containers/ -name *-json.log) for log in \$logs do echo "clean logs : \$log" cat /dev/null > \$log done echo "======== end clean docker containers logs ========" EOF
cat > /opt/docker-sh/docker_log_size.sh<< EOF #!/bin/sh
echo "======== docker containers logs file size ========"
logs=\$(find /mnt/mmc1-4/docker/containers/ -name *-json.log)
for log in \$logs do ls -lh \$log done
EOF
chmod +x docker_log_size.sh clean_docker_log.sh
|
注意脚本中两处路径需要替换成你实际docker的安装路径!
手动清理
进入到脚本所在文件夹
查看日志大小
清理所有日志
设置定时任务
编辑定时任务
键入 a 进入编辑模式,创建定时任务(每天晚上2点定期执行脚本清空容器日志)
1
| 0 2 * * * /opt/docker-sh/clean_docker_log.sh
|
保存退出:wq 回车
引用
定时清理docker容器日志 - 一看就懂 - 博客园