2021-01-21 18:53 丨o聽乄雨o丨 阅读(493) 评论(0) 编辑 收藏 举报
查看各个用户有没有crontab定时任务:
1 for u in `cat /etc/shadow | cut -d":" -f1`;do crontab -l -u $u;done
查看月/周/日定时任务文件夹:
1 ls /etc/cron.monthly 2 ls /etc/cron.weekly 3 ls /etc/cron.daily 4 ls /etc/cron.hourly
使用crontab查看当前用户:
1 crontab -l
查看crond定时任务:
1 ls /var/spool/cron
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 * * * /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
————————————————
版权声明:本文为CSDN博主「咖啡下的疲倦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mijichui2153/article/details/105601955/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)