本节内容:
crontab命令的用法。
在linux系统中,常常通过crontab命令来维护crontab文件,从而达到提交计划作业的目的。
在介绍crontab命令之前,先来了解下crontab文件中每个条目中各个域的格式和意义。
crontab每个条目都有6个域,分别对应6列,从左到右依次为第1列,第2列...第6列
域的详细介绍:
在前5列中,可以用减号"-" 表示范围;用逗号","表示或;用星号"*"表示连续的时间,如果对某域没有特别的限制,该域也需要填入星号"*"。"*/5" 这样格式表示每5分钟[小时,天等]。每列之间要用空格隔开。
例子:
了解了crontab文件格式的意义,下面学习crontab的使用方法。
1、创建crontab文件
2、列出crontab文件内容
3、删除crontab文件
3、编辑crontab文件
怎么备份crontab文件。每个用户的crontab文件默认保存在/var/spool/cron/<username> 文件中。
加入用户名devw,那么crontab文件就是/var/spool/cron/devw 直接备份该文件即可,当然要有足够的权限。
当然,如果想运行crontab,需要先安装crontab开启crond服务。
安装crontab及对crond服务进行管理:
安装:
备注:vixie-cron软件包是cron的主程序,crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
例如:
当然,对于非root用户,安装完软件,启动好服务,设置好crontab文件,并不一定能启动计划任务,为什么呢?缺少权限。
cron通过/etc/cron.allow和/etc/cron.deny来允许或禁止用户拥有自己的crontab文件。root用户可以创建、编辑或删除这些文件。
这些文件中的条目是用户登录名,每行一个名称。
怎么通过这两个文件进行权限界定的呢?
如果以下一个条件成立,用户将不能使用crontab命令:
cron.allow文件和cron.deny文件不存在(只允许root用户)。
cron.allow文件存在,但用户的登录名并不列在其中。
cron.deny文件存在,并且用户的登录名列在其中。
注意:
如果cron.allow和cron.deny中用户名都存在,则用户具有运行权限。
cron.allow的优先级比cron.deny高。
如果想让脚本以某个user身份执行,要用到su: