Ubuntu 计划任务详解

一.关于crontab
有些Ubuntu 版本,cron是被默认安装并启动的。如果没有启动,自行设置并启动(chkconfig\sysv-rc-conf)。配置文件/etc/crontab:
# 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 )
Ubuntu调用run-parts命令,定时运行四个目录下的所有脚本。
/etc/cron.hourly下的脚本会被每小时运行一次,在每小时的17分时运行。
/etc/cron.daily下的脚本会被每天运行一次,在每天6点25分运行。
/etc/cron.weekly下的脚本会被每周运行一次,在每周第7天的6点47分运行。
/etc/cron.monthly下的脚本会被每月运行一次,在每月1号的6点52分运行。
以上执行时间可自行修改
 
二.关于shell脚本
只需要把计划运行的脚本放到相应目录中就可以了。不过需要注意以下两点:
1.脚本文件的名称不能包含“.”符号。你可以写成“im-alarm”,但不要写成“im-alarm.sh”。(因为命名问题,遇到过不执行的情况)
2.脚本开头必须加上“#!/bin/bash”,否则run-parts调用不成功。
否则直接用run-parts运行时会导致这样的错误: 
run-parts: failed to exec /etc/cron.hourly/backup-website: Exec format error
run-parts: /etc/cron.hourly/backup-website exited with return code 1
 
三.启动与停止
ubuntu下启动、停止与重启cron
sudo /etc/init.d/cron start
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron restart
 
查看cron是否在运行:
pgrep cron

 

 

用实例告诉你Linux下如何编写计划任务crontab。

输入crontab -e 编辑crontab 计划任务,Ubuntu里默认编辑器是Nano,如何使用Nano可以参考Nano 快捷键

# m h dom mon dowcommand

#分 时 日 月 周 执行命令

分钟[0,59],小时[0,23],日期[1,31] ,月[1,12],周[0,6],可以使用的参数有“*”,“/”,“-”和“,”。

* 表示任意取值范围内数字 在分钟里*表示0到59的任意数字

- 表示选择区域范围内的数字 3-10表示3-10的任意数字,包含3和10

, 选择数字 2,4,5 选择2,4,5

/ 每多少数字 在分钟里 */2表示每二分钟

例子:

每1分钟执行一次command

* * * * * command

每小时的第3和第15分钟执行

3,15 * * * *command

在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * *command

每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2 * *command

每个星期一的上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1command

crontab可以定时执行任务,在Ubuntu下输入crontab帮助如下

test@ubuntu:~$crontab

crontab: usageerror: file name must be specified for replace

crontab [-u user]file

crontab [-u user]{ -e | -l | -r }

-e (edit user'scrontab)

-l (list user'scrontab)

-r (delete user'scrontab)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值