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博客

相关推荐
WJ.Polar1 小时前
Scapy基本应用
linux·运维·网络·python
数智顾问2 小时前
(123页PPT)华为流程管理体系精髓提炼(附下载方式)
运维·华为
胡小禾4 小时前
K8S常识-如何指定只更新一个deployment中的某一个实例
云原生·容器·kubernetes
江湖有缘4 小时前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
AC赳赳老秦5 小时前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw
呆萌的代Ma5 小时前
docker内的n8n配置Code节点运行python代码
python·docker·容器
倔强的石头1066 小时前
【Linux 指南】文件系统系列(一):磁盘底层原理 —— 从物理结构到 CHS与LBA 寻址全解析
linux·运维·服务器
菜鸟分享录7 小时前
OpenClaw Docker一键部署(轻松实现多容器隔离)
docker·ai·openclaw·小龙虾
陶然同学7 小时前
【Linux及Shell】VMware&Ubuntu&Xshell安装
linux·运维·xshell8·xftp8
小乐笙7 小时前
笔记:纯真 IP 库使用
运维·网络·tcp/ip