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

Linux下例行性工作安排

2012-07-11 07:16 155 查看
linux的工作进程的方式分为:

一种例行性的,就是每隔一定周期要来办的事项。
一种是突发性的,指做完这次以后就没有的哪一种。

at的工作排程目录为/var/spool/at

at的工作流程:

1、先找寻/etc/at.allow 这个档案,写在这个档案中的使用者才能使用at,没有在这个档案中的使用者则不能使用。
2、如果/etc/at.allow不存在,就寻找/etc/at.deny这个档案,若写在这个at.deny的使用者则不能使用at,而没有在这个at.deny档案中的使用者,就可以使用at。
3、如果两个档案都不存在,那么只有root可以使用at这个指令。

需要先启动at服务 service atd restart

at:安排系统在一定时间内运行一次程序
-l:at -l相当于atq,列出目前系统上面的所有该用户的at排程
-d:at -d相当于atm,可以取消一个在at排程中的工作
-v:可以使用较明显的时间格式栏出at排程中的任务栏表
-c:可以列出后面接的该项工作的实际指令内容

atrm可以删除所安排的进程 如atrm 5

例:

[root@localhost scripts]# at now + 2 minutes (2分钟后执行)
at> /bin/rm /scripts
at> <EOT>
job 2 at 2012-07-08 14:00

ctrl+d 可以结束 也可输入<EOT>

batch:与at用法相同,在系统负载小时执行背景任务(cpu工作负载小于0.8的时候)

crontab:安排系统在指定时间内运行(周期运行)

/etc/cron.allow 将可以使用crontab的账号写入其中,不在这个档案内的使用者则不可使用crontab。
/etc/cron.deny 将不可以使用crontab的账号写入其中,若未记录到这个档案当中的使用者,就可以使用crontab。
/etc/cron.allow优先级高于/etc/cron.deny

crontab的工作排程目录为/var/spool/cron
cron执行的每一项工作都会被记录到/var/log/cron

crontab
-u:只有root可以进行这个任务,帮其他使用者建立/移除crontab工作排程
-e(edit):编辑crontab的工作内容
-l(list):查阅crontab的工作内容
-r(remove):移除所有crontab的工作内容。

输入crontab -e去编辑自己的例行性命令,会进入vi的编辑画面,然后以一个工作行来编辑。
每项工作(每行)的格式都是具有6个字段,这6个字段所代表的意义为:

代表意义 分钟 小时 日期 月份 周 指令
数字范围 0-59 0-23 1-31 1-12 0-7 命令

*:代表任何时刻都接受
,:分隔时段
-:代表一段时间范围内 例8-12
/n:n代表数字,指每隔n单位间隔,例/5指每五分钟进行一次可与*搭配 */5

例:
*/2 5-10 * * 1-5 rm /1
每周1到周五的5到10点,每两分钟执行一次 rm /1

anacron 处理非24小时一直启动的linux系统的crontab的执行
anacron会以一天、七天、一个月为期侦查系统未进行的crontab任务
工作目录在/etc/cron*/*ana*
本文出自 “Linux学习历程” 博客,请务必保留此出处http://aixia.blog.51cto.com/4605660/926751
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: