Cron 定时任务入门:让电脑替你记住每天的重复事
【摘要】 Cron 定时任务入门:让电脑替你记住每天的重复事每天固定要做的事——备份文件、清理临时目录、定时拉取数据——最怕的不是难,而是忘。Linux 的 cron 就是为这种事准备的:把“什么时间、做什么事”写成一行规则,系统到点自动执行,不用人守着。 一、cron 的一行规则怎么写打开当前用户的定时任务表:crontab -e每一行就是一个任务,格式是五个时间字段加一条命令:分 时 日 月 星...
Cron 定时任务入门:让电脑替你记住每天的重复事
每天固定要做的事——备份文件、清理临时目录、定时拉取数据——最怕的不是难,而是忘。Linux 的 cron 就是为这种事准备的:把“什么时间、做什么事”写成一行规则,系统到点自动执行,不用人守着。
一、cron 的一行规则怎么写
打开当前用户的定时任务表:
crontab -e
每一行就是一个任务,格式是五个时间字段加一条命令:
分 时 日 月 星期 命令
例如每天早上 7 点备份一个目录:
0 7 * * * tar -czf /backup/home-$(date +\%Y\%m\%d).tar.gz /home/user/docs
注意两点:一是 % 在 crontab 里有特殊含义,命令里要用 \% 转义;二是星号 * 表示“每”,*/30 表示“每 30 分钟”。
二、新手最容易踩的三个坑
第一,环境变量不一样。 cron 执行时的 PATH 很小,命令最好写绝对路径,比如用 /usr/bin/python3 而不是 python3,脚本开头也写明解释器。
第二,输出没地方看,出错也不知道。 给每个任务加上日志重定向,出了问题先看日志再动手:
30 2 * * * /home/user/backup.sh >> /home/user/backup.log 2>&1
第三,任务没跑先别怀疑系统。 先查三件事:规则里的五个字段有没有写错位置、脚本本身手动跑一遍能不能通、cron 服务有没有在运行(systemctl status cron)。
三、从一个小任务开始
别一上来就排一整套自动化。先挑一件每天都做、失败了也不心疼的事,比如每天凌晨清理下载目录里 30 天前的文件:
0 3 * * * find /home/user/Downloads -type f -mtime +30 -delete
跑顺一周,再慢慢加上备份、提醒、报表。自动化真正的价值不在一次省多少时间,而在它每天都准时、不请假、不忘记。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)