How to control ubuntu by using crontab
cron是一个Linux下的后台进程,用来定期的执行一些任务。我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效,但其他系统应该也差不多。
第一步:编写一个你想执行的bash脚本
vim test.sh
1 |
|
第二步:设置定时执行bash脚本的bash脚本
编辑crontab文件
sudo vim /etc/crontab
在其中添加 1
* * * * * root bash /home/tony/test.sh > /home/tony/log
前5个*分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:
意义 | 范围 |
---|---|
分钟 | 0 - 59 |
小时 | 0 - 23 |
天 | 1 - 31 |
月 | 1 - 12 |
星期 | 0 - 6 (0表示星期天) |
root代表执行用户,有时候,发现命令没有按时执行,可将root换成你当前的用户名,如ubuntu或者tony,bash /home/tony/test.sh > /home/tony/log为具体执行的命令。
举些例子: 1
2
3
4* * * * * # 每隔一分钟执行一次任务
0 * * * * # 每小时的0点执行一次任务,比如6:00,10:00
6,10 * 2 * * # 每个月2号,每小时的6分和10分执行一次任务
*/3,*/5 * * * * # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06
所以 */1 和 * 没有区别。*/2 可以看成是能被2整除的任意值。|
更多例子:
1 |
|
需要注意
如果发现crontab脚本没有按时执行,可以将root换成ubuntu。
重启crontab服务
可以分为两种情况:
1.在系统中有service这个命令时:这个命令在red hat当中常用,有的linux发行版本中没有这个命令.
1 |
|
2.linux发行版本没有service这个命令时: 1
2
3
4
5/etc/init.d/cron stop
/etc/init.d/cron start
或者
/etc/init.d/crond stop
/etc/init.d/crond start
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!