- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux下at与cron自动化工作的异同.doc
Linux下at与cron自动化工作的异同
[日期:2009-03-31] 来源:IT专家网 作者:spike_zheng
在Linux操作系统中,管理员可以通过一定的手段要求系统的工作在一个特定的时间、日期或者当系统平均负荷比较低的时候自动执行某些特定的工作。通常情况下,可以通过at与cron两个命令来实现自动化作业。而且这两个命令无论是管理员用户还是普通用户都可以使用。如root管理员可以使用自动化的工作管理来执行定期的数据备份、监控系统稳定性与性能参数等等;而且普通用户也可以利用这项机制来要求系统自动执行工作,如自动执行某个脚本等等。
虽然这两个命令都可以达到自动化工作的要求,但是他们有不少的差异。系统管理员要根据这两个命令的各自特性,并结合自己所需要达到的目的,来选择合适的实现方式。
一、at命令权限控制。
At命令主要用来安排在某个特定时间执行特定的工作。当系统管理员或者用户有安排在某个时间执行某个脚本的需求时,可以利用at指令来实现这个需求。但是,at与cron命令不同,系统设计者对于at命令提供了一种特殊的保护机制。操作系统使用了at.allow与at.deny两个文件来限制哪些用户可以使用at指令,哪些用户则不行。
如上图中,这个两个文件默认保存在/etc文件夹下。这两个存取控制文件的格式是在每一行设置一个用户名,而且两个文件中都不允许有空格符的存在。如果系统管理员出于安全的考虑,需要限制用户使用at命令,则可以在at.deny控制文件中输入对应的用户名字即可。修改存取控制文件后,马上生效。即不需要重新启动系统进程这个限制才会生效。而且对于先前已经设置的at指令,也会失效。这主要是因为这个存取控制文件的生效时间是系统在执行at指令的时候。另外需要注意的是,系统管理员不能够利用这两个文件来限制root帐户的权利。Root帐户随时都可以执行at指令,即使这个帐户已经被列入了at.deny存取控制文件的黑名单。
也许心细的读者会发现,如果一个帐户同时存在与这两个文件中。或者说系统有A、B两个用户。在at.allow帐户中设置为只有A允许使用at指令;而在at.deny存取控制文件中又设置只有A用户禁止使用at命令。那么最终的结果会是如何呢?会不会有相互矛盾的地方呢?系统在这里主要是借鉴了优先级的控制手段来避免这种相互矛盾的情况出现。如当操作系统中管理员同时定义了这两个文件,那么系统就会忽视at.deny存取控制文件的存在。也就是说,此时操作系统只考虑at.allow文件中的内容。就上面两个例子来说,系统将运行A用户执行at命令(包括root用户)。其他用户将无权执行at命令。
而对于cron自动化命令就没有这方面的限制。这主要是因为这两个命令是由不同的设计者实现的。这也是Linux操作系统的一个特性,它是由一个个小的命令所搭建而成的一个操作系统。类似的情况在Linux系统中还有很多。这也是他们两个命令的最大差异所在。
二、使用时机不同。
Cron命令是一个系统进程。这个命令可以依据系统管理员所设定的时间、日期或者其他的组合方式来重复性的执行某些特定的工作。当然其工作前期是系统必须在持续开机的情况下。如果在工作排定的时间,恰巧此时系统出现了故障而关机,那么这项指定的工作就不会被执行。但是它会在下一个时间段内执行。也就是说,中间某项工作因为一些特殊的原因没有完成的话,则不影响其后续的执行。
其实,说了如上这么多内容,笔者想强调的却只有三个字,即重复性。利用cron命令后,系统会根据一定的周期重复执行管理员所指定的代码或者命令。而at指令则是安排在特定的时间来执行某项工作。简单的说,利用cron命令可以设定一些重复性的工作,如重要数据的备份。但是对于at命令来说,其执行的动作是一次性的。这次执行完毕后下次将不会再被自动执行,除非系统管理员再进行设置。如需要在一个小时后在系统中建立一个帐户,此时就需要采用at命令。而不适宜采用crom命令。因为同一个帐户只需要建立一次即可,而不必每隔一个小时建立一次。
所以at命令指定的作业只执行一次,而cron指定的命令则会根据一定的周期重复执行。这是这两个命令的最本质的区别。这要求系统管理员根据需求的不同,现在合适的实现方式。如果某些任务是周期性的,如需要周期性的利用脚本备份数据库的数据或者周期性的删除临时文件,则就需要采用cron命令。在Linux操作系统中,最典型的cron应用就是系统会每隔几分钟就去检查一下邮箱服务器看看是否有新的邮件。而对于那些不需要重复执行的,可能只需要在某个特定的时刻执行一次的任务,则就需要采用at命令。如因为系统维护的需要,要在下午三点强制关闭网络连接,则就可以使用at命令。
三、其他细微的差异。
除了以上两个重大
您可能关注的文档
- lab词法分析器的设计与实现.doc
- Lab:代码评审与程序性能优化.doc
- landmark建工区及加载地震数据.doc
- LAN实验报告模板.doc
- Laravel大型项目系列教程七.doc
- Laravel大型项目系列教程二.doc
- Laravel大型项目系列教程四.doc
- LAYER层三信令.doc
- Layout走线策略.doc
- LA绝缘油介质损耗及电阻率测试仪.doc
- 新视野二版听说1第6单元示范1课件.ppt
- 【参考答案】 联络口译(第二版) 《联络口译》(第二版)参考答案.pdf
- 梅大高速茶阳路段“5·1”塌方灾害调查评估报告.docx
- 虹吸雨水PE管施工节点标准做法.pdf
- 2025消防设施施工质量常见通病防治手册,典型图示+规范要求.pptx
- 新视野大学英语(第二版)读写教程 4 空军工程大学编U05B.ppt
- E英语教程2(智慧版)Unit 6.pptx
- E英语教程3(智慧版)Unit 7.ppt
- 新视野二版读写1第4单元课件Section A How to Make a Good Impression.pptx
- E英语视听说教程4(智慧版)4-U2课件(2024版)U2.pptx
文档评论(0)