最近在服务器上跑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

发表回复