Linux的计划任务

at的运作方式

我们用at这个指令来产生工作,并将这个工作以文本文件的方式写入到/var/spool/at目录中,这个工作就能等待atd这个服务的取用与执行了.


并非每个人都可以使用at,我们可以在/etc/at.allow  和/etc/at.deny 中配置那些用户可以使用at


at 的用法:

at -c 工作号码


-m : 当at工作完后,即使没有输出信息,也以Email通知使用者工作完成

-l : 相当于atq ,列出系统上所有该用户使用的at排程


-d : at -d 相当于atrm ,可以取消一个at排程中的工作


-v : 可以使用较为明显的格式栏出at排程中的恩物栏表


-c : 可以列出后米娜接的工作的实际指令内容

TIME : 时间格式 ,指定什么时间执行


TIEM 的格式有 :

 HH:MM =>在今天的HH:MM时刻执行


 HH:MM YYYY-MM-DD

   分    年       月   日

三   now + number [  minutes | hours  |  days | weeks ]



at的执行与终端机环境无关,而所有的standard output 和standard error  output 都会传送到执行者的mailbox; 要在终端机看到信息,加入你在tty1 登入, 则可以使用  echo "嘿!"  >/dev/tty1  ;




crontab (592)

当用户使用crontab 这个指令来建立工作排程后,该工作就会被记录到/var/spool/cron/这个目录里面去,而且是以账号来区分的(每个账号都会有一个相对应的文件)

cron执行的每一项工作都会被记录到/var/log/cron这个登录档中去;



crontab的用法

crontab  [ -u  username  ]  [ -l | -e  |  -r  ]


-u  : 只有root才能使用这个选项,既帮别人建立或者移除工作


-l  : 查阅crontab的工作内容


-r  : 移除所有的crontab的工作内容(若要移除一项,用-e 编辑)


-e :  会调用vi进入编辑状态


特殊字符


* (星号)  ===>代表任何时候;


  , (逗号) ===>多个时间点


  - ( 减号) ===>代表一段时间范围


  /n(斜线)===>n代表的是数字,即没隔n单位时间的意思



/etc/cron.allow

/etc/cron.deny



  时              月 周              用户               指令

0-59     0-23     1-31     1-12   0-6      执行的身份       执行的指令


=================================================

系统的crontab 配置文件  /etc/crontab



由于cents提供了runrun-parts这个script脚本的辅助,因此/etc/crontab这个支持下面两种下达指令的方法


  时              月 周              用户               指令

0-59     0-23     1-31     1-12   0-6      执行的身份       执行的指令


  时              月 周              用户        run-parts  要执行文件的路径

0-59     0-23     1-31     1-12   0-6      执行的身份       执行文件



which  run-parts   (/usr/bin/run-parts 是一个脚本)   这个指令会把后面跟的文件(shell脚本)拿出来执行  ; 也就是说,如果你想让系统每小时主动帮你执行某个或者某些指令,可以将它们写成一个script文件;



examples:


在5月1日23:59分发送一封邮件给kiki  这封邮件的内容已经写在/root/love.txt 下了


直接下达 crontab -e 后  编辑


59  23  1  5  *   mail kiki  < /root/love.txt



二  

每5分钟执行/home/dmtsai/test.sh  一次


*/5  *   *   *   *  /home/dmtsai/test.sh



  


  30  16  *  *  5   mailhis.server.name <  /home/dmtsai.friend.txt


crontab -e 四针对使用者的cron来设计(编辑的是/var/spoolcron/这个目录下的相应的用户的cron文件)的,如果是系统的行列排程,就需要编辑/etc/crontab 这个文件了  ,



使用 crontab -e来编辑用户自己的crontab的时候不需要指定用户,但是,在编辑系统的/etc/crontab的时候就需要指明该工作是以谁的什么身份来执行的,系统默认的行列排程工作是以root的身份来执行的


更多 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值