计划任务

1.at  在指定时间执行指定时间的命令,执行完成后就从系统中取消该命令。

  at  //设置任务

  atq //查看目前的任务

 atrm //删除设定的任务

文件:/etc/at.allow    //允许使用at的用户列表

      /etc/at.deny     //禁止使用at的用户列表

目录:

 /var/spool/at         //存放at任务文件的目录

语法:

at   [-选项]   时间格式      //设置任务

atq                         //查看目前的任务

atrm  [number]              //删除设定的任务

举例:

at  12:00 2006-12-30  2006123012点执行

at  12:00   shutdown -h 0 今天的12点执行关机命令

at  12:00 2006-12-30 tar czvf  /dump/workdump.tar.gz  /work/*  意思是在规定时间对work目录下文件进行打包压缩

at  12:00  + 1 days 2006-12-30  rm -fr /work/  在规定时间的后一天删除/work目录 

启动服务:service  atd  start

重新启动服务:service  atd  restart

停止服务:service  atd  stop

 

2.cron 在指定的时间周期性的执行指定的命令。

命令:

/usr/bin/crontab     //建立例行性的计划

/usr/sbin/crond      //例行性计划任务的守护进程

文件:

/etc/cron.allow       //将可以使用crontab的用户名写入其中,不在该文件内存在的用户则不可以使用crontab

/etc/cron.deny        //将不可以使用crontab的用户名写入其中,不在该文件内存在的用户则可以使用crontab

*周期性的命令的记录会放在这个文件中     /var/log/cron

/var/spool/cron    //存放用户周期性任务的目录

           特殊字符

                 含义 

              *

           代表任何时间

              ,

        表示分隔时间的意思

              -

         表示一段时间范围

              /n

   n为数字,意思是每个n个单位时间

Crontab是用户使用的命令,系统任务就不必运行命令了,可以直接编辑/etc/crontab

 

启动服务:service  crond  start

重新启动服务:service  crond  restart

停止服务:service  crond  stop

   含义

   分钟

   小时

   日期

   月份

    周

 数字范围

   0-59

   0-23

   1-31

   1-12

   0-6

 

举例:

59 23 1 5 * 每年五一2359

30 16 * * 6 没周六16半执行

每天给老板发mail    : 30 17 * * 1-5 mail boss < /home/test/report.txt

每月112:00对系统日志进行备份  : 0 12 1 * * tar czvf /back/system.tgz /var/log/*

*如果每天都执行几个命令,就需把命令写到/etc/cron.daily

系统每隔5分钟执行一次该目录下的所有可执行文件:

         建立一个/root/runcron的目录,将要每隔5分钟的可执行文件放到该目录下,再在/etc/crontab文件中加*/5 * * * * root run-part /root/runcron