linux计划任务
的有关信息介绍如下:什么是linux中的计划任务,为什么要设置计划任务.
计划任务,分为,一次性计划任务,和周期性计划任务.
为什么要设置计划任务
定时备份,定时重启
管理任务,定时将服务器信息发邮件,每天只需要收邮件,就能了解很多台服务器的信息
计划任务主要分为两种
一次性计划任务
周期性计划任务
指定的时间执行一次
1、指定时间的方式
绝对计时方法:
midnight午夜noon中午teatime下午茶(16:00)
hh:mm[today]
hh:mmtomorrow
hh:mmMM/DD/YY
相对计时方法:
now+nminutes
now+nhours
now+ndays
具体看帮助manat
2、如何设定系统时间
系统时钟date
设置日期date-s'2013-05-1411:27:00'
硬件时钟clock
clock--systohc 将系统时间存回硬件时钟内
clock--hctosys 系统时间设成和硬件时钟一致
3、任务设定
指定在今天下午17:30执行某命令,假设当前时间是2013年1月15日
at17:30
at5:30pm
at17:30today
atnow+3hours
at17:3001/15/13
at17:3015.01.13如果用(.)表示日月年
atnow+5minutes回车后,输入要执行命令,写完按ctrl+d保存
命令最好写绝对路径(例如whichls将查询到ls命令在哪里)
例atnow+1minutes
/usr/bin/wall“hi,thisisatest.”一分种后发一个广播
查看计划任务进程是否开启ps-le|grepatd
启动进程/etc/rc.d/init.d/atdstart
默认都会安装计划任务并启动
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命令[krɔnteibl]
周期性计划任务
三个常用选项:
-l 列出当前crontab
-r 删除当前的crontab不建议用,直接用-e编辑就好
-e 编辑当前的crontab文件
crontab-e
2、计划任务内容格式:分时日月周 命令/脚本
实例:
每天04:00
04***要执行的命令
周二和周五18:00
018**2,5要执行的命令
1月到3月份,周二和周五18:00
018*1-32,5要执行的命令
周一到周五17:30发广播,然后17:45分关机
写两条计划任务,不是只能写一条
3017**1-5/usr/bin/wall
4517**1-5/sbin/shutdown-hnow
中午12点到14点,每两分钟(偶数)
*/212-14***命令
1-59/2 (奇数)
写命令时,有需要写上出错信息
例/bin/cp-r/etc/backup/etc.bak2>>/backup/etc.bak.err
2表示错误信息
这6项,都不能为空
3、特殊匹配符号
多个值用 “,”
连续的值用 “-”
任何匹配 “*”
步长 “/n”
4、执行命令
命令给出绝对路径
用户必须具有运行对应命令或程序的权限
保存在/var/spool/cron
检查crond进程是否开启
ps-le|grepcrond
/etc/rc.d/init.d/crondstart
5、权限设置
限制哪些用户可以使有crontab
/etc/cron.allow
/etc/cron.deny