您的位置:首页 > 运维架构 > Linux

linux 计划任务

2015-06-20 11:25 696 查看

计划任务


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执行某命令,假设当前时间是2013年1月15日
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以下(w或top命令能看到)

二、周期性计划任务
1、crontab命令 [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 计划任务 at cron