9.3.14. 定时任务安排

使用 cron(8) 来进行定时任务安排。参见 crontab(1) 和 crontab(5).

你能够作为一个普通用户定时运行一个进程,比如, foo 使用 “crontab -e“ 命令创建一个 crontab(5) 的文件 “/var/spool/cron/crontabs/foo“。

这里是一个 crontab(5) 文件的列子。

  1. # use /bin/sh to run commands, no matter what /etc/passwd says
  2. SHELL=/bin/sh
  3. # mail any output to paul, no matter whose crontab this is
  4. MAILTO=paul
  5. # Min Hour DayOfMonth Month DayOfWeek command (Day... are OR'ed)
  6. # run at 00:05, every day
  7. 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
  8. # run at 14:15 on the first of every month -- output mailed to paul
  9. 15 14 1 * * $HOME/bin/monthly
  10. # run at 22:00 on weekdays(1-5), annoy Joe. % for newline, last % for cc:
  11. 0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?%.%%
  12. 23 */2 1 2 * echo "run 23 minutes after 0am, 2am, 4am ..., on Feb 1"
  13. 5 4 * * sun echo "run at 04:05 every Sunday"
  14. # run at 03:40 on the first Monday of each month
  15. 40 3 1-7 * * [ "$(date +%a)" == "Mon" ] && command -args
[提示]提示

对那些非连续运行的系统,安装 anacron 软件包来定时执行周期性的命令,命令在接近机器启动的时间运行,并允许有特定的时间间隔。参见 anacron(8) 和 anacrontab(5).

[提示]提示

对于定时系统维护脚本,你能够以root 账户定时运行,把这类脚本放入 “/etc/cron.hourly/“, “/etc/cron.daily/“, “/etc/cron.weekly/“, 或 “/etc/cron.monthly/“. 这些脚本的执行时间,可以通过 “/etc/crontab“ 和 “/etc/anacrontab“ 来定制。