shell脚本代码
#!/bin/bash
docker_container_path="/data/docker/containers"
data="cleaned log by abzz"
for folder in `find $docker_container_path -maxdepth 1 -type d`
do
echo $folder
file_name=$(echo $folder | cut -d '/' -f 5)
if test -z $file_name; then
echo "file_name is empty,continue."
else
echo "enter "$folder"/"$file_name
log_file_name=$folder"/"$file_name"-json.log"
echo "abzz" > $log_file_name
echo $file_name " clean done"
fi
done
说明
以上代码会遍历所有/data/docker/containers路径下的docker容器,然后向containerId-json.log日志文件中写入指定内容去清空容器日志,防止容器日志过大导致磁盘空间被占满。
语法说明
cut -d '/' -f 5
:用“/”拆分字符串然后取第五个file_name=$(echo $folder | cut -d '/' -f 5)
:将folder变量拆分取值后的结果通过echo赋值给变量file_name