什么是例行性工作?比如太阳每天从东方升起,学校的上课铃总是不厌烦的定时响起,老妈的喊叫声总在每天的固定时刻叫你起床等。这些都是例行性工作。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工作。