关于Crontab
Crontab是Linux系统中用于定时执行命令或脚本的命令。
Crontab允许用户预定一个特定的命令在指定的时间间隔内自动执行,比如每天、每周、每月等。
使用Crontab可以代替手动运行命令或脚本,提高工作效率和准确性。
Crontab命令在Linux系统中被广泛使用,是系统管理员必备的基本技能之一。
Crontab常用命令
以下是一些常用的crontab命令
crontab -l:列出当前用户的所有定时任务。
crontab -e:编辑当前用户的定时任务。
crontab -r:删除当前用户的所有定时任务。
crontab -u user:列出指定用户的所有定时任务。
crontab -u user -e:以指定用户身份编辑定时任务。
systemctl start crond:启动crontab服务。
systemctl stop crond:停止crontab服务。
systemctl status crond:查看crontab服务的状态。
service crond start:启动crontab服务(旧版本系统)。
service crond stop:停止crontab服务(旧版本系统)。
Crontab常用表达式
Crontab表达式是一种5个或6个由空格分隔的字段,用于在Linux系统中指定任务执行的时间。
这些字段分别表示任务执行的分钟、小时、日、月、周几等信息。
-
Minute(分钟) :指定任务执行的分钟数。取值范围在 0~59。
-
Hour(小时) :指定任务执行的小时数。取值范围在 0~23。
-
Day of month(日) :指定任务执行的日期。取值范围在 1~31。
-
Month(月) :指定任务执行的月份。取值范围在 1~12。
-
Day of week(周几) :指定任务执行的星期数。取值范围是 0~7,其中0和7都代表星期天,1-6代表星期一到星期六。
-
Command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
每个字段都可以接受逗号、星号、斜杠等字符进行组合和限制,以实现更复杂的任务调度需求。
比如,*/10 * * * * 表示每隔10分钟执行一次任务,5 0,12 * * * 表示在每天的0:05和12:05分别执行一次任务。
* * * * * # 每1分钟执行
*/2 * * * * # 每个偶数分钟执行; 每2分钟执行
1-59/2 * * * * # 每个奇数分钟执行
*/3 * * * * # 每3分钟执行
*/15 * * * * # 每15分钟执行; 每个1/4小时执行
30 * * * * # 每个小时半点执行
0 * * * * # 每个小时整点执行
0 */2 * * * # 每2小时执行
0 9-11 * * * # 9点到11点, 整点执行
0 0 * * * # 每天00:00执行
0 1 * * * # 每天01:00执行
0 8 */2 * * # 每2天08:00执行
0 0 * * 0 # 每个星期天执行(0 0 * * SUN)
0 0 * * 1-5 # 每个工作日执行
0 0 1 * * # 每月1号00:00执行
0 0 1 */2 * # 每2个月1号执行
0 0 1 */3 * # 每个季度1号执行(1, 4, 7, 10)
0 0 1 1 * # 每年1月1日00:00执行
Crontab表达式参考网址:crontab.guru