crontab命令的一般形式为:
Crontab [-u user] -e -l -r
其中:
-u 用户名。
-e 编辑crontab文件。
-l 列出crontab文件中的内容。
-r 删除crontab文件。
如果使用自己的名字登录,就不用使用 - u选项,因为在执行 c r o n t a b命令时,该命令能够
3.1.4 创建一个新的crontab文件
在考虑向 c r o n进程提交一个 c r o n t a b文件之前,首先要做的一件事情就是设置环境变量
E D I TO R。c r o n进程根据它来确定使用哪个编辑器编辑 c r o n t a b文件。 9 9 %的U N I X和L I N U X用
户都使用 v i,如果你也是这样,那么你就编辑 $ H O M E目录下的 . p r o f i l e文件,在其中加入这样
一行:
EDITOR=vi; export EDITOR
然后保存并退出。
不妨创建一个名为 < u s e r > c r o n的文件,其中 < u s e r >是用户名,例如, d a v e c r o n。在该文件
中加入如下的内容。
保存并退出。确信前面 5个域用空格分隔。
在上面的例子中,系统将每隔 1 5分钟向控制台输出一次当前时间。如果系统崩溃或挂起,
从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。在有些系统中,用 tty1来表
示控制台,可以根据实际情况对上面的例子进行相应的修改。
为了提交你刚刚创建的 crontab文件,可以把这个新创建的文件作为 cron命令的参数:
$ crontab davecron
现在该文件已经提交给 cron进程,它将每隔 15分钟运行一次。
同时,新创建文件的一个副本已经被放在 /var/spool/cron目录中,文件名就是用户名(即,
。
dave)
3.1.5 列出crontab文件
为了列出crontab文件,可以用:
你将会看到和上面类似的内容。可以使用这种方法在 $ H O M E目录中对 c r o n t a b文件做一备
份:
$ crontab -l > $HOME/mycron
这样,一旦不小心误删了 crontab文件,可以用上一节所讲述的方法迅速恢复。
3.1.6 编辑crontab文件
如果希望添加、删除或编辑 crontab文件中的条目,而 EDITOR环境变量又设置为 vi,那么
就可以用vi来编辑crontab文件,相应的命令为:
$ crontab -e
可以像使用 v i编辑其他任何文件那样修改 c r o n t a b文件并退出。如果修改了某些条目或添
加了新的条目,那么在保存该文件时, c r o n会对其进行必要的完整性检查。如果其中的某个
域出现了超出允许范围的值,它会提示你。
我们在编辑 crontab文件时,没准会加入新的条目。例如,加入下面的一条:
现在保存并退出。最好在 c r o n t a b文件的每一个条目之上加入一条注释,这样就可以知道
它的功能、运行时间,更为重要的是,知道这是哪位用户的作业。
现在让我们使用前面讲过的 crontab -l命令列出它的全部信息:
3.1.7 删除crontab文件
为了删除crontab文件,可以用:
$ crontab -r
3.1.8 恢复丢失的crontab文件
如果不小心误删了 c r o n t a b文件,假设你在自己的 $ H O M E目录下还有一个备份,那么可以
将其拷贝到 /var/spool/cron/<username>,其中<username>是用户名。如果由于权限问题无法完
成拷贝,可以用:
$ crontab <filename>
其中,<filename>是你在$HOME目录中副本的文件名。
我建议你在自己的 $ H O M E目录中保存一个该文件的副本。我就有过类似的经历,有数次
误删了crontab文件(因为 r键紧挨在e键的右边 ...) 。这就是为什么有些系统文档建议不要直接
编辑crontab文件,而是编辑该文件的一个副本,然后重新提交新的文件。
有些c r o n t a b的变体有些怪异,所以在使用 c r o n t a b命令时要格外小心。如果遗漏了任何选
项,crontab可能会打开一个空文件,或者看起来像是个空文件。这时敲 delete键退出,不要按
<Ctrl-D>,否则你将丢失 crontab文件。