1. 程式人生 > >shell腳本定時清除messages日誌及TAG為none的docker images

shell腳本定時清除messages日誌及TAG為none的docker images

ssa 已退出 print var 輸入 -h cat rim bash

#!/bin/bash
logstatus=du -sh /var/log/messages
docker_image=docker images
docker_none=docker images|grep none
docker_rm=docker images|grep none|awk ‘{print $3 }‘
disk=df -h
cleanlog()
{
echo "######start clean messages#######"
echo "目前日誌大小 $logstatus"
read -p "是否清理messages日誌,請輸入(yes/no): " messlog
if [ ${messlog} = "yes" ];then
cat /dev/null > /var/log/messages
logstatus=du -sh /var/log/messages
echo -e "清理後 $logstatus"

if [ ${messlog} = "no" ];then
    exit 0
fi

fi
return 0
}
cleandockerimage()
{
echo "######start clean docker image#######"
if [ -n "${docker_rm}" ];then

echo -e "刪除以下TAG為"none"的doncker images\n$docker_none"
else
echo -e "==============================================================================\n無TAG為none的docker image\n已退出當前腳本"
exit 0
fi

read -p "是否繼續刪除,請輸入(yes/no) " delimage
if [ ${delimage} = "yes" ];then

for i in ${docker_rm}
do
docker rmi -f ${i}
echo "=============================================================================="
echo -e "刪除成功:docker images列表 \n$docker_image"
done
if [ ${delimage} = "no" ];then
exit 0
fi
fi
return 0
}

echo -e "目前磁盤狀態\n==============================================================================\n$disk"
echo -e "\n==============================================================================\n磁盤垃圾清理"
echo -e "1.清理系統日誌\n2.清理Docker鏡像\n3.Clean All !!!"
read -p "請按序號輸入選擇後續操作 : " choose

if [ $choose -eq 1 ];then
sleep 1;
echo "=============================================================================="
cleanlog
fi
if [ $choose -eq 2 ];then
sleep 1;
echo "=============================================================================="
cleandockerimage
fi
if [ $choose -eq 3 ];then
cleanlog
cleandockerimage
fi

shell腳本定時清除messages日誌及TAG為none的docker images