服务器 频道

Solaris 10调度任务:crontab命令使用

  10.2.3  crontab命令的使用

  crontab命令格式:crontab

  参数如下。

  - -e:执行文字编辑器来设定时程表,内定的文字编辑器是VI。

  - -r:删除目前的时程表。

  - -l:列出目前的时程表。

  时程表的格式如下:

  f1 f2 f3 f4 f5 program

  具体解释如下:其中f1是表示分钟,f2表示小时,f3表示一个月份中的第几日,f4表示月份,f5表示一个星期中的第几天。program表示要执行的程序。

  可以通过5个字段调整频率:分、小时、月中日、月份和周中的日期(如周一,周二)。表10-1总结了cron作业的调度选项。
 

   

   

   

f1

059

 

f2

小时

023

 

f3

月中日

131

与分和小时不同,月中日不是从零开始的

f4

月份

112

月份也不是从零开始的。也可以不使用1-12的数字,而是使用月份名的前三个字母,比如JanMay

f5

周中日

07

07都代表星期日。还可以使用名称的前三个字母,比如MonWed

  表10-1  cron作业的调度选项

  以上这5个参数指定任何调度计划。为了更加简便,cron还提供了常用调度计划的简写形式,如表10-2所示。
 

简写形式

   

@reboot

每当计算机重新引导时运行命令

@daily

每天一次的简写形式

@weekly

每周一次的简写形式

@annually

每年一次的简写形式。也可以写成@yearly

@midnight

在每天午夜运行命令。这个简写形式相当于@daily

  如果喜欢使用简写形式,只需用它们替代cron命令的前5个字段。

  应用实例如下。

  每月每天每小时的第0分钟执行一次/bin/ls命令一次:

  0 * * * * /bin/ls

  在12月内,每天早上6点到12点钟之间,每隔20分钟执行一次/usr/bin/backup备份:

  0/20 6-12 * 12 * /usr/bin/backup

  通过组合使用cron和数据库工具,创建每日转储。例如,命令:

  @daily joe mysqldump -pjoespwd accounts > $HOME/backups/accounts.`date +%F`.sql

  每天把数据库accounts转储到一个文件。嵌入的日期命令(`date+%F`)确保文件名是唯一的,比如accounts.2008-12-07.sql。此命令作为用户joe运行,所以用-p指定Joe的密码。此命令还可以放在Joe自己的crontab中,因为转储需要他的MySQL凭证。

0
相关文章