Linux 学习笔记 -- 第四部分 Linux 使用着管理 -- 第16章 例行性工作 (crontab)

来源:互联网 发布:java解压缩gz文件 编辑:程序博客网 时间:2024/05/01 08:59
at:仅执行一次就结束调度的命令
启动: /etc/init.d/atd restart
设置一下开机时就启动这个服务:chkconfig atd on

at [-mldv] TIME
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-DDex> 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 minutesex> 04pm + 3 days
在某个时间点“再加几个时间后”进行


1.再过五分钟后,将 /root/.bashrc 寄给 root 自己
at now + 5 minutes
at>/bin/mail root -s "testing at jon" < /root/.bashrc
at><EOT> <== 这里输入 Ctrl+d 就会出现 <EOT> 的字样!代表结束!


2.将上述的第 4 项工作内容列出来查阅
at -c 4

3.由于机房预计于 2009/03/18 停电,我想在 2009/03/17 23:00 关机
at 23:00 2009-03-17
at>/bin/sync
at>/bin/sync
at>sbin/shutdown -h now
at><EOT>  


atq 查询目前有多少个工作调度
atrm [jobnumber]

atq
atrm 5 将上述第 5 个工作删除
atq

batch 系统有空时才进行后台任务
在 CPU 工作负载小于 0.8 的时候,才进行你所执行的工作任务。
这个负载的意思是:CPU 在单一时间点所负责的工作数量,不是
CPU 的使用率。


batch 23:00 2009-3-17
at>sync
at>sync
at>shutdown -h now
at><EOT>

atq 
atrm 6


crontab:循环执行的例行性工作调度
crontab [-u username] [-l|-e|-r]
-u 只有 root 才能进行这个任务,也即帮其他用户新建/删除 crontab 工作调度
-e 编辑 crontab 的工作内容
-l 查阅 crontab 的工作内容
-r 删除所有的 crontab 的工作内容,若仅要删除一项,请用 -e 去编辑


crontab -e
0 12 * * * mail dmtsai -s "at 12:00" < /home/dmtsai/.bashrc
分钟(0-59)
小时(0-23)
日期(1-31)
月份(1-12)
周(0-7,0和7都表示周日)
命令


特殊字符:
* 代表任何时候接受
, 代表分隔时段 ,比如要执行的工作是3:00 与 6:00时,就会是:0 3,6 * * * command
- 代表一段时间范围内,8点到12点之间的每小时的20分都执行,就会是:20 8-12 * * * command
/n 每个 n 单位间隔,例如每五分钟进行一次,则:
* */5 * * * command
  也可以写为:
* 0-59/5 * * * command


周与月、日不能同时共存


anacron 自动执行任务
anacron 时间记录文件:/etc/anacrontab


ll /etc/cron*/*ana*
cat /etc/cron/daily/0anacron


anacron -[-sfn] [job]
anacron -u [job]
-s 开始连续执行各项工作,会依据时间记录文件的数据判断是否进行
-f 强制进行,而不去判断时间记录文件的时间戳
-n 立刻进行未进行的任务,而不延迟 (delay) 等待时间
-u 仅更新时间记录文件的时间戳,不进行任何工作
job 由 /etc/anacrontab 定义的各项工作名称

cat /etc/anacrontab
more /var/spool/anacron/*


chkconfig --list anacron (确定anacron是否开机时会主动执行)
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
0 0
原创粉丝点击