一、循环调度执行
1、检查cron状态
systemctl status crond
2、创建要执行的shell脚本
vim /home/cleanup_docker.sh
#! /bin/bash
# 清理临时文件
echo $(date +"%H:%M:%S") "执行docker清理命令..."
docker system prune -af
-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脚本根路径
>> /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
2. Failed to start cron.service: Unit cron.service not found.
解决:启动cron服务命令拼写错误,正确的是
sudo service crond start
参考:
Linux 计划任务与日志管理_linux cron日志-CSDN博客