<p>crontab命令是Linux操作系统,特别是Linux系统的VPS上,站长们常用个命令。主要用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。</p><p><p style="text-align: center;"><img src="/upload/content/20200428/1588037763881486.jpg" alt="Crontab详细用法,Linux crontab定时任务配置"title="Crontab详细用法,Linux crontab定时任务配置" width="550px"><br/></p><p>crontab文件般位于/etc/下,这里面存放系统运行的的调度程序,每个用户都会生成个自动生成个自己的crontab文件,般位于/var/spool/cron目录下。使用命令crontab -r可删除当前用户的crontab文件,通用使用crontab -e命令即可创建crontab文件。</p><p><strong><strong style="white-space: normal;">C</strong>rontab命令格式用法</strong></p><p>crontab格式语法和用法:</p><p>查看当前用户的定时任务:[oracle@localhost ~]$ crontab -l</p><p>编辑当前用户的定时任务:[oracle@localhost ~]$ crontab -e</p><p>删除当前用户的定时任务:[root@localhost ~]# crontab -r</p><p>[root@localhost ~]# crontab -l</p><p>crontab格式>/dev/null 2>&1 的解释:0表示键盘输入,1表示标准输出,2表示错误输出。</p><p><strong>Crontab 示例</strong></p><p>1、在 12:01 a.m 运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。</p><pre class="brush:bash;toolbar:false">1 0 * * * /root/bin/backup.sh</pre><p>2、每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。</p><pre class="brush:bash;toolbar:false">59 11 * * 1,2,3,4,5 /root/bin/backup.sh</pre><p>或:</p><pre class="brush:bash;toolbar:false">59 11 * * 1-5 /root/bin/backup.sh</pre><p>3、每5分钟运行一次命令</p><pre class="brush:bash;toolbar:false">*/5 * * * * /root/bin/check-status.sh</pre><p>4、每个月的第一天 1:10 p.m 运行</p><pre class="brush:bash;toolbar:false">10 13 1 * * /root/bin/full-backup.sh</pre><p>5、每个工作日 11 p.m 运行。</p><pre class="brush:bash;toolbar:false">0 23 * * 1-5 /root/bin/incremental-backup.sh</pre><p>6、每小时执行/etc/cron.hourly目录内的脚本</p><pre class="brush:bash;toolbar:false">0 * * * * root run-parts /etc/cron.hourly</pre><p>7、每隔2分钟同步一次互联网时间</p><pre class="brush:bash;toolbar:false">echo "*/2 * * * * /usr/bin/ntpstat time.windows.com >/dev/null 2>&1" >> /var/spool/cron/root</pre><p>8、每天3-5,17-20每隔30分钟执行一次脚本</p><pre class="brush:bash;toolbar:false">echo "*/30 [3-5],[17-20] * * * /bin/sh /home/omc/h.sh >/dev/null 2>&1" >> /var/spool/cron/root</pre><p>9、当天23点,第二天0点到凌晨7点 每隔1分钟执行一次脚本</p><pre class="brush:bash;toolbar:false">* 23,00-07/1 * * * /bin/sh /home/omc.h.sh</pre><p>10、每年的4月份每周的周一到周三的11点执行脚本 </p><pre class="brush:bash;toolbar:false">00 11 * 4 1-3 /bin/sh /home/omc/h.sh</pre><p><strong>Crontab 选项</strong></p><p>以下是 crontab 的有效选项:</p><pre class="brush:bash;toolbar:false">o crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。 o crontab –l : 显示 crontab 文件。 o crontab -r : 删除 crontab 文件。 o crontab -ir : 删除 crontab 文件前提醒用户。</pre><p><strong><strong style="white-space: normal;">C</strong>rontab用法注意事项:</strong></p><p>配置定时任务时,需要注意两个问题:</p><p>1、在SHELL中设置了必要的环境变量;例如个shell脚本手工执行OK,但是配置成后台作业执行时,获取不到ORACLE的环境变量,这是因为crontab环境变量问题,Crontab的环境默认情况下并不包含系统中当前用户的环境。所以,你需要在shell脚本中添加必要的环境变量的设置</p><p>2、尽量所有的文件都采用完全路径方式,避免使用相对路径。</p>