Linux定时任务crontab命令使用详解

时间:2021-08-19 21:38:54

1.crontab功能介绍:

      crontab的功能是在一定的时间间隔内定时执行一些命令。

2.crontab参数详解:

1 crontab -u //设定某个用户的cron服务,一般root用户在执行此命令时会用到该参数 
2  
3 crontab -l //查看当前cron服务的详细内容
4  
5 crontab -r //删除某个用户的cron服务
6  
7 crontab -e //编辑cron服务(即:添加cron服务)

3.crontab格式说明:

      执行crontab -e命令,就会打开/etc/crontab 文件,在该文件中即可添加cron服务,命令格式必须如下:

1 * * * * * /command path

前五个*号从前到后依次表示:
(1)分钟:0-59
(2)小时:1-23
(3)日期:1-31
(4)月份:1-12
(5)星期:0-6(0表示周日)

4.一些特殊符号说明:

(1)* :表示任何时刻
(2), :表示分割
(3)- :表示一个段,如第二端里: 1-5,就表示1到5点
(4)/n :表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1

5.实例说明:

      以一个定期备份MySQL数据库的Shell脚本这篇文章中的shell脚本为例(脚本路径为:/data/backup/backup.sh),设定定期备份数据库的命令格式如下:

1 50 21 * * * /bin/sh /data/backup/backup.sh  //每天的21:50自动备份
2  
3 0 17 * * 1  /bin/sh /data/backup/backup.sh  //每周一17:00自动备份
4  
5 0,10,20,30,40,50 * * * *  /bin/sh /data/backup/backup.sh  //每隔10分钟执行备份
6  
7 0 */1 * * *  /bin/sh /data/backup/backup.sh  //每隔一小时自动备份
8  
9 30 5 1,15 * *  /bin/sh /data/backup/backup.sh  //1号和15号的5:30自动备份

6.一些特殊说明:

      先看一个例子:

1 0 */1 * * *  /bin/sh /data/backup/backup.sh >/dev/null 2>&1 &

      这句话的意思就是在后台执行这条命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null 文件,也就是清空。
数字的含义:
0:表示键盘输入
1:表示标准输出
2:表示错误输出

2>&1: 是将错误输出重定向到标准输出。 然后将标准输入重定向到文件out.file。
&1: 表示的是文件描述1,表示标准输出,如果这里少了&就成了数字1,就表示重定向到文件1。
&:后台执行