在做某些小项目的时候, 有时候会需要快速搭建服务, 并且依赖一些第三方服务或者以前写的其他服务. 这时候, 可能无法有效的定义日志级别, 修改第三方服务或以前写的其他服务的日志策略和内容. 而且小项目因为成本因素, 测试服务器磁盘空间一般较小, 那么就会造成磁盘因日志问题引发的不足问题.
这时可以在前期无脑的定义日志清理策略:
查看当前被 Docker 占用的磁盘空间大小
list-docker-logs.sh
1
2
3
du -sh /var/lib/docker/containers/*chmod +x list-docker-logs.sh
无脑清理所有由 Docker 产生的日志
clear-docker-logs.sh
1
2
3
4
5
6
7
8
9
10
for c in /var/lib/docker/containers/*
do
if [ -d "$c" ]; then
log=`ls $c | grep 'json.log'`
true > $c/$log
echo clear $c/$log
fi
donechmod +x clear-docker-logs.sh
使用定时任务自动清除
使用 crontab -e
命令添加定时任务
首先在底部添加一行 0 5 * * * /path/to/clear-docker-logs.sh