一个清理docker日志的脚本

最近在服务器上跑docker,发现日志越来越大越来越大。找了一堆资料后,发现这个脚本比较简单。只需要在任意目录下,nano xxx.sh,然后填写下面内容,然后给个权限,运行就可以了。也就是:

nano xxxx.sh & chmod +x xxxx.sh
#!/bin/bash
docker_log_files=$(find /var/lib/docker/containers/ -name '*-json.log')
docker_logs_size=$(find /var/lib/docker/containers/ -name '*-json.log' | xargs du -sc | tail -1 |awk '{print $1,"K"}')
free -h &&  sync && echo 1 > /proc/sys/vm/drop_caches   #释放系统缓存
 
echo -e "\033[32mThe docker log total size is $docker_logs_size\033[0m"
 
for log in $docker_log_files
    do
    	echo "Now is cleaning docker log,docker core logs:$log"
        cat /dev/null > $log
        systemctl reload docker  #加载docker服务,不影响已经docker
    done 
 
free -h


Posted

in

by

Tags:

Comments

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注