电脑技术学习

Linux 指令篇:日期时间排程--crontab

dn001
名称;:;crontab

使用权限;:;所有使用者

使用方式;:

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

说明;:
crontab;是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u;user;是指设定指定;user;的时程表,这个前提是你必须要有其权限(比如说是;root)才能够指定他人的时程表。如果不使用;-u;user;的话,就是表示设定自己的时程表。

餐数;:

-e;:;执行文字编辑器来设定时程表,内定的文字编辑器是;VI,如果你想用别的文字编辑器,则请先设定;VISUAL;环境变数来指定使用那个文字编辑器(比如说;setenv;VISUAL;joe)
-r;:;删除目前的时程表
-l;:;列出目前的时程表

时程表的格式如下;:
f1;f2;f3;f4;f5;program;

其中;f1;是表示分钟,f2;表示小时,f3;表示一个月份中的第几日,f4;表示月份,f5;表示一个星期中的第几天。program;表示要执行的程序。
当;f1;为;*;时表示每分钟都要执行;program,f2;为;*;时表示每小时都要执行程序,其馀类推
当;f1;为;a-b;时表示从第;a;分钟到第;b;分钟这段时间内要执行,f2;为;a-b;时表示从第;a;到第;b;小时都要执行,其馀类推
当;f1;为;*/n;时表示每;n;分钟个时间间隔执行一次,f2;为;*/n;表示每;n;小时个时间间隔执行一次,其馀类推
当;f1;为;a,;b,;c,...;时表示第;a,;b,;c,...;分钟要执行,f2;为;a,;b,;c,...;时表示第;a,;b,;c...个小时要执行,其馀类推

使用者也可以将所有的设定先存放在档案;file;中,用;crontab;file;的方式来设定时程表。
例子;:

每月每天每小时的第;0;分钟执行一次;/bin/ls;:
0;7;*;*;*;/bin/ls;

在;12;月内,;每天的早上;6;点到;12;点中,每隔;20;分钟执行一次;/usr/bin/backup;:
0;6-12/3;*;12;*;/usr/bin/backup;

周一到周五每天下午;5:00;寄一封信给;alex@domain.name;:
0;17;*;*;1-5;mail;-s;"hi";alex@domain.name;<;/tmp/maildata;

每月每天的午夜;0;点;20;分,;2;点;20;分,;4;点;20;分....执行;echo;"haha"
20;0-23/2;*;*;*;echo;"haha";

注意;:

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上;>;/dev/null;2>&1;即可

标签: linux