例行性工作at和crontab

at 单一工作调度
1. 要使用单一工作调度时首先要启动atd服务
[root@localhost ~]# /etc/init.d/atd restart
Stopping atd:                                              [ OK ]
Starting atd:                                              [ OK ]
2. 设置一下开机启动这个服务
[root@localhost ~]# chkconfig atd on
3. 基本语法
[root@www ~]# at [-mldv] TIME
[root@www ~]# at -c 工作号码
选项与参数:
-m  :当 at 的工作完成后,即使没有输出信息,亦以 email 通知使用者该工作已完成。
-l  :at -l 相当於 atq,列出目前系统上面的所有该使用者的 at 排程;
-d  :at -d 相当於 atrm ,可以取消一个在 at 排程中的工作;
-v  :可以使用较明显的时间格式列出 at 排程中的工作列表;
-c  :可以列出后面接的该项工作的实际命令内容。
 
TIME:时间格式,这里可以定义出『什么时候要进行 at 这项工作』的时间,格式有:
  HH:MM ex> 04:00
在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此工作。
  HH:MM YYYY-MM-DD ex> 04:00 2009-03-17
强制规定在某年某月的某一天的特殊时刻进行该工作!
  HH:MM[am|pm] [Month] [Date] ex> 04pm March 17
也是一样,强制在某年某月某日的某时刻进行!
  HH:MM[am|pm] + number [minutes|hours|days|weeks]
ex> now + 5 minutes ex> 04pm + 3 days
就是说,在某个时间点『再加几个时间后』才进行。
4. 范例:再过5分钟后,將 /root/.bashrc 寄給 root 自己
[root@www ~]# at now + 5 minutes  <==记得单位要加 s 
at> /bin/mail root -s "testing at job" < /root/.bashrc
at>   <==这里输入 [ctrl] + d 就会出現 的字样!代表结束!
job 4 at 2009-03-14 15:38
# 上面这行在说明,第 4 个 at 工作將在 2009/03/14 的 15:38 进行!
# 而执行 at 会进入所谓的 at shell 环境,让你下达多重指令等待运作!
 
crontab循环执行例行性工作调度
1. 语法
[root@www ~]# crontab [-u username] [-l|-e|-r]
选项与参数:
-u  :只有 root 才能进行这个任务,亦即帮其他使用者创建/移除 crontab 工作排程;
-e  :编辑 crontab 的工作内容
-l  :查阅 crontab 的工作内容
-r  :移除所有的 crontab 的工作内容,若仅要移除一项,请用 -e 去编辑。
 
2. 范例:用 user1 的身份在每天的 12:00 发信给自己
[dmtsai@www ~]$ crontab -e
# 此时会进入 vi 的编辑画面让您编辑工作!注意到,每项工作都是一行。
0   12  *  *  * mail user1 -s "at 12:00" < /home/user1/.bashrc
#分 时 日 月 周 |<==============命令串========================>|
 

 

posted @ 2013-11-22 12:13  qmsu  阅读(285)  评论(0编辑  收藏  举报