Docker定时清理

一、循环调度执行

1、检查cron状态

bash 复制代码
systemctl status crond

2、创建要执行的shell脚本

vim /home/cleanup_docker.sh

bash 复制代码
#! /bin/bash
# 清理临时文件
echo $(date +"%H:%M:%S") "执行docker清理命令..."
docker system prune -af

-a 清理包括未使用的镜像

-f 跳过确认提示,强制执行清理操作

3、打开cron任务编辑页面

bash 复制代码
crontab -e

4、编辑定期任务

bash 复制代码
0 0 ? * Sun /home/cleanup_docker.sh >> /home/cronlogs/cronlog.log 2>&1

0 0 ? * Sun // 每周日00:00:00执行一次

/home/cleanup_docker.sh // 执行的shell脚本根路径

>> /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. 提示权限不足

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

bash 复制代码
chmod u+x cleanup_docker.sh

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

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

bash 复制代码
sudo service crond start

参考:

Linux 计划任务与日志管理_linux cron日志-CSDN博客

相关推荐
叼烟扛炮20 分钟前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
我要见SA姐12 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
Android系统攻城狮2 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
Y3815326623 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库
倔强的石头1064 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器
废柴程序员_熊熊4 小时前
10 分钟用 Docker 搭一套私有 Gitea:HTTPS、SSH、CI、备份一次配齐
docker
HZZD_HZZD5 小时前
大口径摄像水表白皮书拆解:DN40加装改造与字轮识别实测
运维·物联网·腾讯云
PellyKoo6 小时前
【Ubuntu】GTX 1080 Ti 显卡占用为0但功率高达60W的排查与解决
linux·运维·ubuntu
莫晓燚7 小时前
阿里云若依项目部署与日志采集---实战
运维·数据库·redis·阿里云·ruoyi
何中应7 小时前
Grafana如何共享面板
运维·grafana·可观测