crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 crontab命令有三种形式的命令行结构: crontab [-u user] [file] crontab [-u user] [-e&line;-l&line;-r] crontab -l -u [-e&line;-l&line;-r] 第一个命令行中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。 命令行中-r选项的作用是从/usr/spool/cron/crontabs目录下删除用户定义的文件crontab; 命令行中-l选项的作用是显示用户crontab文件的内容。 使用命令crontab -u user -e命令编辑用户user的cron(c)作业。用户通过编辑文件来增加或修改任何作业请求。 执行命令crontab -u user -r即可删除当前用户的所有的cron作业。 作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。username使用户名,在相应的文件中存放着该用户所要运行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。文件里的每一个请求必须包含以spaces和tabs分割的六个域。前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。 第一道第五个字段的整数取值范围及意义是: 0~59 表示分 1~23 表示小时 1~31 表示日 1~12 表示月份 0~6 表示星期(其中0表示星期日) /usr/lib/cron/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户能安排作业。如果这个文件不存在,而有另外一个文件/usr/lib/cron/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。如果它是一个空文件表明任何用户都可安排作业。两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。 很奇怪,单独执行命令语句可以,如果指定SH文件就不能执行 解决:好像需要加回车换行 echo sfsf>/home/sf/sfcron.cron 这个就可以 进入ROOT用户,编辑一个文本文件:corn.txt 10 10 28 10 * /home/sf/www/mysql41/bin/mysqldump -u root -p123 --opt testsf >/home/sf/mysqltest.cron 编辑一个文本文件 sfcron.txt 10 10 28 10 * echo sfsf>/home/sf/sfcron.cron 很奇怪,如果用VI编辑,那么产生的文件名称变为了SFCRON.CRON~,后面加了一个\N,用GEDIT编辑删除掉的 crontab -u sf sfcron.txt crontab cron.txt [root at sf sf]# crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall dot # (corn.txt installed on Fri Oct 28 10:06:42 2005) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 10 10 28 10 * /home/sf/www/mysql41/bin/mysqldump -u root -p123 --opt testsf >/home/sf/mysqltest.cron [root at sf sf]# [root@mobile sf]# crontab -u sf -l # DO NOT EDIT THIS FILE - edit the master and reinstall dot # (sfcron.txt installed on Fri Oct 28 10:05:59 2005) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 10 10 28 10 * echo sfsf>/home/sf/sfcron.cron [root at mobile sf]# 到点后。有效的生成了两个文件,这样我们就可以进行定时备份MYSQL数据库了 [root@mobile cron]# pwd /var/spool/cron [root@mobile cron]# ls mailman root sf tmp dot 32202 [root@mobile cron]# 字体:大 中 小 |