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

linux学习笔记:例行性工作(crontab)

2015-01-03 16:36 204 查看
linux工作调度的种类:at,cron

一种是突发性的,就是这次做完以后就没有的那一种。

一种是例行性的,就是每个一定的周期要来办的事项。

at:可以处理尽执行一次就结束调度的命令,不过要执行at时,必须要有atd这个服务的支持才行。

crontab:所设置的工作会一直循环的进行下去

仅执行一次的工作调度

我们使用at这个命令来生成所要运行的工作,并将这个工作以文本文件的形式写入/var/spool/at/目录内,该工作便能等待atd这个服务的取用与执行。

可以利用/etc/at.allow与/etc/at.deny这两个文件来进行at的使用限制。加上这两个文件,at的工作情况是这样的:

1、先寻找at.allow这个文件,写上这个文件中的用户才能使用at,没有在这个文件中的用户则不能使用at(即使没有写在deny中)

2、如果at.allow不存在,就寻找at.deny这个文件,若写在这个at.deny的用户则不能使用at,而没有在这个文件中的就可以使用

3、如果两个文件都不存在,那么只有root可以使用at这个命令

在一般的distributions,系统通常会保留一个空的at.deny文件,意思是允许所有人使用at命令。

在at的工作调度上,系统会将该项at工作独立出你的bash环境中,直接交给系统的atd程序来接管,因此,当你执行了at的工作之后就可以立刻脱机了,剩下的工作就完全交给linux管理即可。

循环执行的例行性工作调度

当用户使用crontab这个命令新建工作调度之后,该项工作会被记录到/var/spool/cron里去了,而且是以账号来作为判别的。

系统配置文件:/etc/crontab

如果是系统的例行性任务,编辑/etc/crontab这个文件。基本上,cron这个服务的最低检测限制是“分钟”。所以cron会每分钟去读取一次/etc/crontab与/var/spool/cron里面的数据内容,因此只要你编辑完/etc/crontab这个文件,并且将它保存之后,那么cron的设置就自动来进行执行了。

可唤醒停机期间的工作任务

anacron不是用来代替crontab的,它的是目的是处理非24小时一直启动的linux系统的crontab的执行,所以anacron并不能指定何时执行某项任务,而是以天为单位或者是在开机后立刻进行anacron的操作,它会去检测停机期间应该进行但并没有进行的crontab任务,并将该任务执行一遍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: