Docker 定时清理空间

一、循环调度执行

1、检查cron状态

systemctl status crond

2、创建要执行的shell脚本

vim /home/cleanup_docker.sh
#! /bin/bash
# 清理临时文件
echo $(date +"%H:%M:%S") "执行docker清理命令..."
docker system prune -f
  • -a 清理包括未使用的镜像
  • -f 跳过确认提示,强制执行清理操作

3、打开cron任务编辑页面

crontab -e

4、编辑定期任务

0 0 ? * Sun /home/cleanup_docker.sh >> /home/cronlogs/cronlog.log 2>&1
  • 0 0 ? * Sun // 每周日00:00:00执行一次
  • /home/cleanup_docker.sh // 执行的shell脚本根路径
  • s="default">

    /home/cronlogs/cronlog.log 2>&1 // 将日志文件打印到指定文件(可以不要)

二、常用命令

1、cron相关命令

(1)启动 sudo systemctl start crond

(2)停止 sudo systemctl stop crond

(3)查看状态 sudo systemctl status crond

(4)重启 systemctl restart crond
2、计划任务

(1)存储位置 /var/spool/cron

(2)查看任务 crontab -l

(3)删除任务 crontab -r

3、日志存储位置

/var/spool/mail

/var/log/cron

三、可能出现的问题

  1. 提示权限不足

解决:用户没有脚本执行权限,需要授予

chmod u+x cleanup_docker.sh

  1. Failed to start cron.service: Unit cron.service not found.

解决:启动cron服务命令拼写错误,正确的是

sudo service crond start

作者:Jeebiz  创建时间:2024-10-21 20:26
最后编辑:Jeebiz  更新时间:2024-11-27 12:52