首页 > Ubuntu > 定时任务 crontab

定时任务 crontab

2010年9月8日 发表评论 阅读评论

crontab 是 linux 下的计划任务,经常会用到的。

用户个人的计划任务:
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user’s crontab)
-l (list user’s crontab)
-r (delete user’s crontab)

-u 指定用户,默认是当前用户。
-e 编辑,ubuntu 默认的是使用nano
-l 列出时间表
-r 删除全部

用 crontab -e 打开可以看见下面的说明
# m h dom mon dow command
m:分钟,0-59,每分钟可以用 * 或 */1 表示,每5分钟用 */5 表示
h:小时,0-23
dom:日期,1-31
mon: 月份,1-12
dow:星期,0-7,其中0、7都是代表星期天
command:需要执行的命令

例子:
*/30 * * * * invoke-rc.d apache2 restart
每 30 分钟重启 apache2

30 * * * * invoke-rc.d apache2 restart
每小时的 30 分钟(间隔1小时)重启 apache2

30 1-3 * * * invoke-rc.d apache2 restart
每日 1:00-3:00 之间的 30 分钟(即1:30、2:30、3:30)重启 apache2

*/30 1-3 * * * invoke-rc.d apache2 restart
每日 1:00-3:00 之间每隔 30 分钟重启 apache2

30 3 * * * invoke-rc.d apache2 restart
每日 3:30 重启 apache2

30 3 1,5,9 * * invoke-rc.d apache2 restart
每月 1、5、9日 3:30 重启 apache2

30 3 1,5,9 1 * invoke-rc.d apache2 restart
每年1月1、5、9日 3:30 重启 apache2

30 3 * * 0,6 invoke-rc.d apache2 restart
每星期六、日 3:30 重启 apache2

编辑好后它保存在 /var/spool/cron/crontabs ,用户名和保存的文件名是对应。

编辑完后需要重启 cron 服务才生效。

系统的计划任务:
直接编辑 /etc/crontab 就可以了。

# m h dom mon dow user command
可以看到这里多个了 user ,它是要指定用户的。
例子:
*/10 * * * * root /root/connvpn
每 10 分钟以 root 身份执行 /root/connvpn 这个脚本。

在 /etc/crontab 里面会有 anacron 的任务,这个是执行在设定时间内没有执行的工作,如发生意外关机没有执行到的任务。

分类: Ubuntu 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.