创建linux定时任务

Share

      都知道在windows里面有定时任务很方便,在linux里面,一样的可以做到很方便,有个朋友问了,下面来简单介绍一下。
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0 表示星期天)
   除了数字还有几个个特殊的符号就是”*”、”/”和”-“、”,”,*代表所有的取值范围内的数字,”/”代表每的意思,”*/5″表示每5个单位,”-“代表从某个数字到某个数字,”,”分开几个离散的数字。以下举几个例子说明问题:

   每两个小时 
 
   0 */2 * * * echo “Hello!!” >> /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 echo “Have a good dream:)” >> /tmp/test.txt 
 
   1月1日早上4点 
 
   0 4 1 1 * echo “Have a good dream:)” >> /tmp/test.txt
 

   每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这 个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

看看我的例子:
每两分钟执行一次echo,把Hello写入/time.txt
[root@icnote/]#
*/2 * * * * echo “Hello” >> /time.txt
~
~
~
“/tmp/crontab.XXXXc27BSj” 1L, 38C
[root@icnote/]#
[root@icnote/]#cat /var/spool/root/cron/root
*/2 * * * * echo “Hello” >> /time.txt
[root@icnote/]#