计划任务命令
at 安排作业在某一时刻执行一次
batch 安排作业在系统负载不重的时候执行一次
cron 安排周期性运行的作业
表示时间的方法
绝对计时法
midnight noon teatime
hh:mm [tody]
hh:mm tomorrow
hh:mm 星期
hh:mm MM/DD/YY 小时:分钟 月/日/年
相对计时法
now +n minutes now + 3 minutes 3分钟之后执行
now +n hours
now +n days
at 命令格式 进程名 atd
计划任务都存放在 /var/spool/at/ 目录里面
安排一个或者多个命令在指定时间运行一次
格式 at[-f 文件名] 时间
at -d or atrm 删除队列中的任务
at -l or atq 查看队列中的任务
at 17:30 1/11/11 2011年1月11日 17:30分执行
/bin/ls /gwyy > /gwyy/aaa 把ls gwyy的东西写入到aaa文件里面
按 ctrl+d保存
batch 负载值在0.8以下才会执行 格式和at一样
crontab 用于生产cron进程所需要的crontab文件
-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r [UserName]: 删除目前的时程表
-l [UserName]: 列出目前的时程表
-v [UserName]:列出用户cron作业的状态
crontab -e 进入编辑状态编辑
把知道的用时间添上 不知道的写上 *
分钟 小时 天 月 星期 命令/脚本
0 4 * * * xxxx 比如 每天凌晨4点备份
0 18 * * 2,5 xxxxx 每个星期2 星期5的下午6点执行操作
0 18 * 1-3 2,5 xxxx 1月到3月 每个星期2或者星期5下午6点执行操作
*/2 12-14 * 3-6,9-12 1-5 xxx 每隔两分钟 星期一到星期五 3月到6月 9月到12月 12点到下午两点
30 17 * * 1-5 /usr/bin/wall < /etc/issue 每星期1-5下午17:30分 发布issuc文件里面的广播
45 17 * * 1-5 /sbin/shutdown -h now 刚发广播过了 现在15分钟后开始关机
warning:
所有项都必填
如果不需要指定某些 可以用*表示
每个字段时间都可以指定多个值 他们用逗号隔开
命令应该给出绝对路径
用户必须具有所运行对应命令或者程序的权限
没必要用crontab -r全部删掉 只要用crontab -e编辑 然后删除掉对应的哪一行就好了
crontab 建立好后可以去 /var/spool/cron目录确认