crontab每分钟执行一次任务

0、实例。

在/home/下面写了一个test.sh 

#!/bin/sh

#echo hello > /home/hello.txt
echo "hello hello hello hello" >> /home/hello.txt  #还是用这个比较好,追加输出到文件

然后在crontab -e中设置了

*/1 * * * * /home/test.sh

为何等了好几分钟,home下面还是没有hello.txt呢?

指定一下用什么运行

*/1 * * * * sh /home/test.sh

 2、常用操作

1、crontab -e :编辑定时任务(添加、删除、修改等)

        用于设置定时任务,就是就是按照下面的实例添加一行进去。

2、crontab -l:查看当前用户有哪些定时任务(其实也可以用上面-e查看)

注意:这里需要需要切到对应的用户。每个用户对对应自己的crontab列表。

3、vim /var/log/cron 查看历史执行记录

究竟有没有执行,这个也非常重要。

3、crontab执行脚本失败,手动执行成功

这个应该是最常遇到的问题了。不出如下两个原因:

(1)路径问题

某个或者某些不是绝对路径,极易引发问题。

(2)环境变量问题

可能不加载环境变量这个时候要加载一下。

具体:可以网上搜一些case看看。

4、调度配置

4.1 配置说明

基本格式 :

*  *  *  *  *  command

分  时  日  月  周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时0~23(0表示0点) 7-9表示:8点到10点之间

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

4.2 配置示例

*/1 * * * * date >> /root/date.txt

上面的例子表示每分钟执行一次date命令

30 21 * * * /usr/local/etc/rc.d/httpd restart

上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart

上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart

上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart

上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/httpd restart

上面的例子表示每星期六的11 : 00 pm重启apache。

1 */1 * * * /usr/local/etc/rc.d/httpd restart

上面的例子每一小时重启apache

* */1 * * * /usr/local/etc/rc.d/httpd restart

上面的例子每分钟重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/httpd restart

上面的例子晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/httpd restart

上面的例子每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/httpd restart

上面的例子一月一号的4点重启apache

你可能感兴趣的:(Linux,linux)