先说坑
想着Linux自带的定时任务crontab命令,用着应该也很方便。所以尝试一下下,暂定要每日凌晨2点执行备份。但是通过crontab -e配置,在网上查阅了cron表达式0 0 2 * * ?就是不执行。此时去查询了一下cron和crontab表达式,这才发现,这两玩意儿规则不一样。心里一万句我真菜。下面讲讲表达式区别
cron表达式
长度是六到七位(精度是秒)
每位含义
- 秒(Seconds) 0~59的整数 , - * / 四个字符
- 分(Minutes) 0~59的整数 , - * / 四个字符
- 小时(Hours) 0~23的整数 , - * / 四个字符
- 日期(DayofMonth) 1~31的整数(但是你需要考虑你月的天数) ,- * ? / L W C 八个字符
- 月份(Month) 1~12的整数或者 JAN-DEC , - * / 四个字符
- 星期(DayofWeek) 1~7的整数或者 SUN-SAT (1=SUN) , - * ? / L C # 八个字符
- 年(可选,留空)(Year) 1970~2099 , - * / 四个字符
crontab表达式
长度五到六位(精度是分钟)
每位含义
- 分钟 (0 - 59)
- 小时 (0 - 23)
- 几号 (1 - 31)
- 月份 (1 - 12)
- 星期几 (0 - 7) (Sunday=0 or 7

本文介绍了Linux Crontab定时任务中遇到的问题,由于cron表达式和crontab表达式规则的不同,导致脚本未能按预期执行。详细解析了两者在秒、分、小时、日期、月份和星期等每位的含义,并提供了表达式验证网站及简单的Crontab任务设置步骤。
最低0.47元/天 解锁文章
1559

被折叠的 条评论
为什么被折叠?



