1.crontab功能介绍:
crontab的功能是在一定的时间间隔内定时执行一些命令。
2.crontab参数详解:
1 |
crontab -u //设定某个用户的 cron 服务,一般root用户在执行此命令时会用到该参数 |
3 |
crontab -l //查看当前 cron 服务的详细内容 |
5 |
crontab -r //删除某个用户的 cron 服务 |
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自动备份 |
3 |
0 17 * * 1 /bin/sh /data/backup/backup.sh //每周一17:00自动备份 |
5 |
0,10,20,30,40,50 * * * * /bin/sh /data/backup/backup.sh //每隔10分钟执行备份 |
7 |
0 */1 * * * /bin/sh /data/backup/backup.sh //每隔一小时自动备份 |
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。
&:后台执行