shell脚本定时清除messages日志及TAG为none的docker images

#!/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

转载于:https://blog.51cto.com/13958766/2295919

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值