linux 计划任务

 

计划任务

1、为什么要设置计划任务

       定时备份,定时重启

       管理任务,定时将服务器信息发邮件,每天只需要收邮件,就能了解很多台服务器的信息

      

2、主要分两种

       一次性计划任务

       周期性计划任务

一、一次性计划任务

指定的时间执行一次

1、指定时间的方式

       绝对计时方法:

              midnight午夜 noon中午 teatime下午茶(16:00)

              hh:mm[today]

              hh:mmtomorrow

              hh:mmMM/DD/YY

       相对计时方法:

              now+ n minutes

              now + n hours

              now+ n days

       具体看帮助 man at

 

2、如何设定系统时间

       系统时钟 date

       设置日期 date -s '2013-05-14 11:27:00'

      

       硬件时钟clock

       clock--systohc       将系统时间存回硬件时钟内

       clock--hctosys      系统时间设成和硬件时钟一致

 

3、任务设定

       指定在今天下午17:30执行某命令,假设当前时间是2013115

       at17:30

       at5:30pm

       at17:30 today

       atnow + 3 hours

       at17:30 01/15/13

       at17:30 15.01.13  如果用(.)表示日月年

 

       atnow + 5 minutes回车后,输入要执行命令,写完按ctrl+d保存

       命令最好写绝对路径(例如which ls将查询到ls命令在哪里)

 

       at now + 1 minutes

       /usr/bin/wall“hi,this is a test.”       一分种后发一个广播

      

       查看计划任务进程是否开启ps -le| grep atd

       启动进程/etc/rc.d/init.d/atd start

       默认都会安装计划任务并启动

 

4、查看任务

       查看队列中的任务

       at-l  atq

      

       存放在这里

       ls/var/spool/at/的一个可执行文件,任务执行后文件消失

 

5、删除任务

       删除一次性计划任务

       at-d 序号

 

6、执行权限

       at配置文件,哪些用户可以使用at

       /etc/at.allow

       /etc/at.deny

              如果存在/etc/at.allow,只有在此文件中的用户才可以使用at命令

              如果存在/etc/at.deny,在此文件中的用户不可使用at命令

              如果两个文件都不存在,只有超级用户可以使用at命令

              如果两个文件都存在均为空,则所有用户都可以使用at命令

 

7、低负载计划任务batch(扩展)

       batch用法与at一样

       无需指定时间,安排在系统负载较轻时运行一次

       一般情况负载较低指0.8以下(wtop命令能看到)

      

二、周期性计划任务

1crontab命令   [krn teibl]

 

       周期性计划任务

       三个常用选项:

       -l     列出当前crontab

       -r     删除当前的crontab      不建议用,直接用-e编辑就好

       -e    编辑当前的crontab文件

 

       crontab-e

2、计划任务内容格式:     命令/脚本

       实例:

       每天04:00

       0   4  *   *   *  要执行的命令

      

       周二和周五18:00

       0   18 *   *   2,5  要执行的命令

      

       1月到3月份,周二和周五18:00

       0   18 *   1-3   2,5  要执行的命令

      

       周一到周五17:30发广播,然后17:45分关机

       写两条计划任务,不是只能写一条

       30 17  * *  1-5  /usr/bin/wall < /root/msg

       45 17  * *  1-5  /sbin/shutdown -h now

 

       中午12点到14点,每两分钟(偶数)

       */2  12-14 *   *  *   命令

       1-59/2     (奇数)

 

       写命令时,有需要写上出错信息

              /bin/cp -r /etc /backup/etc.bak 2>>/backup/etc.bak.err

              2表示错误信息

      

       6,都不能为空

      

3、特殊匹配符号

       多个值用       “,

       连续的值用    -”

       任何匹配       *

       步长              /n

 

4、执行命令

       命令给出绝对路径

       用户必须具有运行对应命令或程序的权限

      

       保存在 /var/spool/cron

 

       检查crond进程是否开启

       ps-le | grep crond

       /etc/rc.d/init.d/crondstart

 

5、权限设置

       限制哪些用户可以使有crontab

              /etc/cron.allow

              /etc/cron.deny

 


你可能感兴趣的:(linux,cron,计划任务,at)