docker日志自动删除脚本

274 阅读1分钟

背景

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   =========================="