文档详情

crontab定时运行命令答题.doc

发布:2017-04-18约1.74万字共18页下载文档
文本预览下载声明
linux 定时运行程序 转 crontab,无论root还是user都可以用。 基本用法: ?1. crontab -l ???? 列出当前的crontab任务 ?2. crontab -d ???? 删除当前的crontab任务 ?3. crontab -e (solaris5.8上面是 crontab -r) ???? 编辑一个crontab任务,ctrl_D结束 ?4. crontab filename ???? 以filename做为crontab的任务列表文件并载入 crontab file的格式: ??? crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间 ?????? 分钟 (0-59) ?????? 小时 (0-23) ?????? 日期 (1-31) ?????? 月份 (1-12) ?????? 星期几(0-6,其中 0 代表星期日) ?????? 第 6 个字段是一个要在适当时间执行的字符串 例子: ????? #MIN HOUR DAY MONTH DAYOFWEEK COMMAND ????? #每天早上6点10分 ????? 10 6 * * * date ????? #每两个小时 ????? 0 */2 * * * date??? (solaris 5.8似乎不支持此种写法) ????? #晚上11点到早上8点之间每两个小时,早上8点 ????? 0 23-7/2,8 * * * date ????? #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 ????? 0 11 4 * mon-wed date ????? #1月份日早上4点 ????? 0 4 1 jan * date    [例7]    # crontab -l #列出用户目前的crontab。    10 6 * * * date    0 */2 * * * date    0 23-7/2,8 * * * date    #    在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:    minute hour day-of-month month-of-year day-of-week commands    第一项是分钟,第二项是小时,第三项是一个月的第几天,第四项是一年的第几个月,第五项是一周的星期几,第六项是要执行的命令。这些项都不能为空,必须填入。如果用户不需要指定其中的几项,那么可以使用*代替。因为*是统配符,可以代替任何字符,所以就可以认为是任何时间,也就是该项被忽略了。在表4-1中给出了每项的合法范围。    表4-1 指定时间的合法范围    时间   合法值    minute   00-59    hour   00-23,其中00点就是晚上12点    day-of-month   01-31    month-of-year   01-12    day-of-week   0-6,其中周日是0     这样用户就可以往crontab 文件中写入无限多的行以完成无限多的命令。命令域中可以写入所有可以在命令行写入的命令和符号,其他所有时间域都支持列举,也就是域中可以写入很多的时间值,只要满足这些时间值中的任何一个都执行命令,每两个时间值中间使用逗号分隔。   除了数字还有几个个特殊的符号就是*、/和-、,,*代表所有的取值范围内的数字,/代表每的意思,*/5表示每5个单位,-代表从某个数字到某个数字,,分开几个离散的数字。几个例子:  每天早上6点  0 6 * * * echo Good morning. /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。  每两个小时  0 */2 * * * echo Have a break now. /tmp/test.txt  晚上11点到早上8点之间每两个小时,早上八点  0 23-7/2,8 * * * echo Have a good dream:) /tmp/test.txt  每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点  0 11 4 * 1-3 com
显示全部
相似文档