详述Linux后台运行命令(2)

创建一个新的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文件。大部份的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 》是用户名,例如, samcron。在该文件中加入如下的内容。

#(put your own initials here) echo the date to the console every

#15 minutes between 6pm and 6am

0,15,30,45 18-06 * * * /bin/echo ‘date’ 》 /dev/console

保存并退出。确信前面5个域用空格分隔。

在上面的例子中,系统将每隔1 5分钟向控制台输出一次当前时间。如果系统崩溃或挂起,从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。在有些系统中,用t t y 1来表示控制台,可以根据实际情况对上面的例子进行相应的修改。

为了提交你刚刚创建的c r o n t a b文件,可以把这个新创建的文件作为c r o n命令的参数:

$su sam

crontab samcron

为了方便演示,切换到sam用户环境下,然后用crontab samcron提交给c r o n进程,它将每隔1 5分钟运行一次。

同时,新创建文件的一个副本已经被放在/ v a r / s p o o l / c r o n目录中,文件名就是用户名(即sam)。

#su

# cat /var/spool/cron/sam

# DO NOT EDIT THIS FILE - edit the master and reinstall.

# (samcron installed on Wed Nov 10 21:41:55 2004)

# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)

#(put your own initials here) echo the date to the console every

#15 minutes between 6pm and 6am

0,15,30,45 18-06 * * * /bin/echo ‘date’ 》 /dev/console

回到root下,查看/var/spool/cron/sam

列出crontab文件

为了列出c r o n t a b文件,可以用:

$ crontab -l

# DO NOT EDIT THIS FILE - edit the master and reinstall.

# (samcron installed on Wed Nov 10 21:41:55 2004)

# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)

#(put your own initials here) echo the date to the console every

#15 minutes between 6pm and 6am

0,15,30,45 18-06 * * * /bin/echo ‘date’ 》 /dev/console

你将会看到和上面类似的内容。可以使用这种方法在$ H O M E目录中对c r o n t a b文件做一备份:

$ crontab -l 》 $HOME/mycron

这样,一旦不小心误删了c r o n t a b文件,可以用上一节所讲述的方法迅速恢复。

编辑crontab文件

如果希望添加、删除或编辑c r o n t a b文件中的条目,而E D I TO R环境变量又设置为v i,那么就可以用v i来编辑c r o n t a b文件,相应的命令为:

$ crontab -e

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25108.html