crontab简介
Crontab命令在Unix和类Unix操作系统中很常见,用于设置要定期执行的指令。该命令从标准输入设备中读取指令,并将其存储在“crontab”文件中,供以后读取和执行。crontab中存储的指令由守护进程激活,crond经常在后台运行,检查是否有每分钟都要执行的调度作业。这种工作一般被称为cron jobs。
Linux下的任务调度分为两类,系统任务调度和用户任务调度。
命令:service crond status确认计划任务是否启动?
命令:service crondstart启动服务。
命令:service crond stop关闭服务。
命令:service crond restart重新启动服务。
命令:service crond reload重新加载配置。
Crond服务
安装crontab:
yum安装crontabs
服务操作说明:
/***in/service crond start //启动服务
/***in/service crond stop //关闭服务。
/***in/service crond restart //重新启动服务。
/***in/service crond reload //重新加载配置
/***in/service crond status //启动服务
检查crontab服务是否已经设置为启动,并执行命令:
设置服务
添加启动自动启动:
chkconfig–35级crond on
开始创建计划任务
crontab -e编辑用户的cron服务
crontab -l列出用户cron服务的详细信息
crontab -r删除用户的cron服务(小心使用)
常用方法:
1).创建新的crontab文件。
在考虑向cron进程提交crontab文件之前,首先要做的是设置环境变量编辑器。根据它,cron进程决定使用哪个编辑器来编辑crontab文件。9%的UNIX和LINUX用户使用vi。如果您是相同的,那么您可以编辑。配置文件,并将这一行添加到其中:
EDITOR = vi导出编辑器
然后保存并退出。您可以创建一个名为
#(在此输入您自己姓名的首字母)每隔
#下午6点到早上6点之间的15分钟
0,15,30,45 18-06 * * */bin/echo ' date ' >;/dev/控制台
保存并退出。确保前5个域由空分隔。
在上面的例子中,系统将每隔1 5分钟向控制台输出一次当前时间。如果系统崩溃或挂起,您可以一目了然地看到系统从上次显示的时间开始停止工作。在某些系统中,tty1用来表示控制台,上面的例子可以根据实际情况进行修改。为了提交刚刚创建的crontab文件,您可以使用这个新创建的文件作为cron命令的参数:
$ crontab davecron
既然文件已经提交给cron进程,它将每隔1 5分钟运行一次。
同时,新创建的文件的副本已经放在/var/spool/cron目录中,文件名是用户名(即dave)。
2).列出crontab文件
为了列出crontab文件,您可以使用:
$ crontab -l
0,15,30,45,18-06 * * */bin/echo ` date ` >开发/tty1
你会看到类似上面的东西。您可以使用此方法备份$H O M E目录中的crontab文件:
$ crontab-l >$HOME/mycron
这样,一旦crontab文件被意外误删除,就可以通过上一节介绍的方法快速恢复。
编辑crontab文件
如果您想要添加、删除或编辑crontab文件中的条目,并且将E D I TO R环境变量设置为v i,则可以使用v i来编辑crontab文件。相应的命令是:
$ crontab -e
您可以像使用v i和exit编辑任何其他文件一样修改crontab文件。如果修改了某些条目或添加了新条目,在保存文件时,c r o n将执行必要的完整性检查。如果其中一个字段的值超出了允许的范围,它会提示您。
当我们编辑crontab文件时,我们可能会添加新的条目。例如,添加以下内容:
# DT:每月1、7、14、21、26、26日凌晨3:30删除核心文件
30 3 1,7,14,21,26 * */bin/find-name " core '-exec RM { };
现在保存并退出。最好在crontab文件的每个条目上加一个注释,这样你就可以知道它的功能,运行时间,更重要的是,它是哪个用户的工作。
现在让我们使用前面提到的crontab -l命令来列出它的所有信息:
$ crontab -l
# (crondave安装于1999年5月4日星期二13:07:43)
# DT:每30分钟向控制台发送一次日期
0,15,30,45 18-06 * * */bin/echo ` date ` >/dev/tty1
# DT:每月1、7、14、21、26、26日凌晨3:30删除核心文件
30 3 1,7,14,21,26 * */bin/find-name " core '-exec RM { };
4).删除crontab文件
要删除crontab文件,可以使用:
$ crontab -r
5).恢复丢失的crontab文件
如果您不小心误删除了crontab文件,可以将其***到/var/spool/cron/
$ crontab & lt文件名& gt
其中,
是您的副本在$ H O M E目录中的文件名。
我建议你在你的$ H O M E目录中保存一份这个文件的副本。我也有类似的经历,误删了几次crontab文件(因为R键紧挨着E键的右边)。这就是为什么有些系统文档建议不要直接编辑crontab文件,而是编辑文件的副本,然后重新提交新文件。
crontab的一些变体很奇怪,所以在使用crontab命令时要格外小心。如果省略任何选项,crontab可能会打开空文件,或者看起来像空文件。此时按delete键退出,但不要按<>
。检查计划任务的执行情况
用户名:用户
您可以在/var/spool/***il/{username}中查看最近的crontab执行情况。
6.cron的计划任务备份和恢复
总结;如果您使用crontab -r错误地删除了一个计划任务,那么/var/spool/cron下会有该计划任务的备份。您可以通过这个cron检索它。
如果没有许可,苏–+root.password在root用户下查看。
本文来自笑醉生梦投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/580046.html