背景
docker 应用下,有些应用不停的写日志, 如gitlab,给本不富余的磁盘巨大压力, 需要一个自动删除无用日志的工具。
解决方案
0 2 * * * /bin/sh /home/mengfh/shell del-docker-log.sh
[root@web-crawler014 ~]# cat /root/clear_docker_log.sh
#!/bin/bash
echo "==================== start clean docker containers logs =========================="
logs=$(find /Volume1/DockerData/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
size=`du -sh $log | grep G`
echo $size
if [ "$size" ];then
cat /dev/null > $log
fi
done
echo "==================== end clean docker containers logs =========================="