Crontab详解

系统运维 waitig 486℃ 百度已收录 0评论

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如运维人员可以写一下备份数据库的任务使其每天都运行

一、 crontab设置格式:

{minute} {hour} {day} {month} {day-of-week} {script} 
minute: 区间为 059  (每分钟用*或者 */1表示)
hour: 区间为0230表示0点)
day-of-month: 区间为031 
month: 区间为112. 11月. 1212月. 
Day-of-week: 区间为07. 周日可以是07.

二、Crontab 示例
1、每天凌晨2点执行run_sql.sh脚本

0 2 * * * sh /root/hdr/importDataToHbase/run_sql.sh

2、每个工作日(Mon – Fri) 下午18点 都进行备份作业

0 18 * * 1,2,3,4,5 sh /root/hdr/importDataToHbase/backup.sh
下面写法和上面是一样的效果
 0 18 * * 1-5 sh /root/hdr/importDataToHbase/backup.sh

3、每5分钟运行一次命令

*/5 * * * * sh /root/hdr/importDataToHbase/run_sql.sh
注意*/5表示每五分钟   5后面分别是 时 天 月 周

4、 每个月的第一天 下午 1:10 运行

分  时  日  月  周
10  13  1  *   *  sh /root/hdr/importDataToHbase/run_sql.sh
由此可知*可以翻译成"每个"

5、每两个小时执行

0 */2 * * * sh /root/hdr/importDataToHbase/run_sql.sh
*/2代表每两个小时

6、晚上11点到早上8点之间每两个小时,早上8点

分     时      日   月  周  命令
0   23-7/2,8  *   *   *  date

7、每十秒执行

* * * * * sleep 10;  /bin/date >>/tmp/date.txt

三、查看cron进程

ps -ef|grep cron

四、一个用户设定一个cron后会在/var/spool/cron/路径下生成一个以用户名命名的文件

例如以下的脚本是root用户设定的

0 2 * * * sh /root/hdr/importDataToHbase/run_sql.sh

那么/var/spool/cron/路径下会有一个root文件

[root@hadoop02 cron]# pwd
/var/spool/cron
[root@hadoop02 cron]# ls
root
[root@hadoop02 cron]# cat root
0 2 * * * sh /root/hdr/importDataToHbase/run_sql.sh

一般一个用户最多只有一个crontab文件

五、设置方法
使用crontab -e即可进行定时任务的设置了

[root@hadoop02 cron]# crontab -e
0 2 * * * sh /root/hdr/importDataToHbase/run_sql.sh

查看自己设置的定时任务

[root@hadoop02 cron]# crontab -l
0 2 * * * sh /root/hdr/importDataToHbase/run_sql.sh

本文由【waitig】发表在等英博客
本文固定链接:Crontab详解
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)