今天在我同步mongo数据库的时候,服务器的磁盘突然就被占满了
导致同步中断,mongo容器也停止工作了。然后就想要弄一个能够定时清理同步过程中
留存在docker容器中的mongo数据的脚本。话不多说,脚本如下
#!/bin/bash
# 获取容器的id
cid=`docker ps | grep mongo | awk '{print $1}'`
# 定义日志文件
log_file=/目录/delete_mongo_dump_file.log(需要替换成自己的目录)
# 格式化日期
today=$(date +%Y%m%d)
# 判断容器是否存在,存在则进行删除,否则退出
if [ -z $cid ];
then
echo $today": 容器未正常运行" >> $log_file
exit
else
docker exec -i $cid bash <<EOF
rm -rf /mongodata/*
EOF
echo $today": 删除成功" >> $log_file
fi
然后再将脚本写到/etc/cron.d目录下即可
0 5 * * * root /目录/clean_mongo_container.sh(需要替换成自己的目录)