linux例行性工作调度

时间:2022-08-07 22:50:27

什么是例行性工作?比如太阳每天从东方升起,学校的上课铃总是不厌烦的定时响起,老妈的喊叫声总在每天的固定时刻叫你起床等。这些都是例行性工作。Linux系统也有自己的定时要办的事情,比如日志文件的轮替,whatis数据库的建立等等。 
Linux例行性工作分一次性的(at)和循环执行的(cron),本篇博客探讨的就是循环执行的例行性工作。 
它主要分为两类:

用户级

用户想要建立自己的循环性工作调度时,使用的命令是crontab。为了一些安全上的问题。我们通常限制可以使用这个命令的用户。如:

  • /etc/cron.deny。我们将不能使用crontab命令的用户账号记录在这个文件中。
  • /etc/cron.allow。我们将可以使用crontab命令的用户账号记录在这个文件中。

注意:往以上文件写内容时遵守一个账号一行的规则。 
一般上面的两个文件我们只按一个来,系统默认保留的是/etc/cron.deny文件。

crontab命令

  • crontab -e 
    编辑crontab的工作内容(编辑例行性工作)。执行此命令后会打开一个类似于vi编辑器的窗口,往里面写入自己的例行性工作,至于写入的格式下面会说。
  • crontab -l 
    查阅crontab的工作内容,会显示出当前用户的所有crontab工作。
  • crontab -r 
    删除所有的crontab工作内容,可以理解为清空。记住,当你仅仅要删除其中的一项时,不要使用此命令,用-e命令再次打开,重新编辑即可。
  • crontab -u 用户名 [-e/-l/-r] 
    一般root用户会使用此命令,目的为帮助其他用户创建或删除crontab工作。