在查看资料清除docker的大小,得到一段脚本,可清理docker日志
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
保存为clean_docker_log_space.log文件,./clean_docker_log_space.log运行,出现syntax error near unexpected token报错。
用notepad++打开文件,视图->显示符号->显示所有符号,然后就看到代码中所有的回车换行都是windows的CR LF。而Linux和windows下的回车换行符是不兼容的。在notepad++中,编辑->文档格式转换->转为UNIX(LF),即可将所有的CR LF,转换为LF。然后再运行此shell脚本,即可正常运行了。