Linux定时任务crontab

1.相关文件

/etc/crontab //设定当时任务执行时间
/etc/cron.hourly  
/etc/cron.daily
/ect/cron.weekly
/ect/cron.monthly

//显然,最好的方法就是不同的定时任务放在不同的文件夹下

2.创建脚本文件

touch mycron //创建一个文件

//下面是脚本文件内容:
#!/bin/sh  //以此开始

# Here is your code

#end 

//例如,yii2框架下的定时任务

#!/bin/sh
# exec cron daily
#注意:执行定时任务的命令必须是全路径

/var/www/yii  cron/daily

3.设定定时任务

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

打开crontab 文件,类似于下面:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

#其中详细定义了定时任务执行的时间

分钟 (0-59)
小時(0-23)
日期(1-31)
月份(1-12)
星期(0-6) //0代表星期天

*代表每一分钟(小时、天、月)
如果是每天的某两个小时,那么就是 * x,y * * *

4.开启cron日志

在ubuntu下安装crontab后,系统默认未开启crontab的日志记录,启用crontab的日志的办法:
打开/etc/rsyslog.d文件,将50-default.conf 文件中的#cron.*前的#删掉,如图

cronlog

定位到/sbin/目录下:

重启rsyslog服务:
service rsyslog restart
重启cron服务
service cron restart;

查看日志:
more /var/log/cron.log;
或者cd到/var/log下查看

其他命令,请自行搜索学习。定时任务不执行的可能原因:
1.shell文件定时任务未使用全路径
2.定时任务crontab未加载
3.建议开启cron日志,方便定位问题所在
4.重启rsyslog,cron服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值