<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>

Linux Crontab命令定时任务基本语法与操作教程-VPS/服务器自动化

VPS主机   2018年04月15日 10:41  

Crontab是一个Unix/Linux系统下的常用的定时执行工具,可以在无需人工干预的情况下运行指定作业。很多时候我们都要用到Crontab命令,例如在Let’s Encrypt Wildcard 免费泛域名SSL证书中提到了acme.sh 脚本就是利用了Crontab定时任务的?#38382;?#26469;更新SSL证书。

通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本,在Linux VPS?#20197;谿oogle Drive和Dropbox中就可以用Crontab命令实现定时同步备份,用Crontab实?#32622;?#22825;定时重启VPS、服务器或者是Nginx、PHP、MysqL服务等。

总之,掌握基本的Crontab命令语法对于我们管理自己的VPS主机是非常有必要的,本篇文章通过实例来?#27493;?#22914;?#38382;?#29992;Linux Crontab命令,不作深入的探究,主要是方便日后的快速查询与参考。

更多的关于VPS主机有关的命令使用方法与应用,可以看看:

Linux系统监控命令整理汇总-掌握CPU,内存,?#25490;蘄O?#26085;页魴阅?#29942;颈

三个命令工具Rsync,SCP,Tar-快速解决VPS远程网站搬家与数据同步

Linux共享文件夹目录三种方法-NFS远程?#20197;?GlusterFS共享存储和samba共享目录

一、Crontab查看编辑重启

1、查看crontab定时执行任务列表

  • crontab -l

2、编辑crontab定时执行任务

  • crontab -e

3、删除crontab定时任务

  • crontab -r

4、相关命令:

  • sudo service crond start #启动服务
    sudo service crond stop #关闭服务
    sudo service crond restart #重启服务
    sudo service crond reload #重新载入配置
    sudo service crond status #查看服务状态

二、Crontab基本格式语法

crontab 的时间表达式:

  • 基本格式 :
    *  *  *  *  *  command
    分 时 日 月 周 命令

先来看一个例子。每天凌晨1:00执行备份程序:0 1 * * * /root/wzfou.com/backup.sh 。其中/root/wzfou.com/backup.sh 这是脚本路径,要使用绝?#26376;?#24452;,前面的日期格式请直接看下图就知道了。

crontab还有操作符,?#32654;?#23454;现一些复杂的时间设定需要。操作符有:

  • 1、* 取值范围内的所有数字 ,代表所有。
  • 2、/ 每过多少个数字 ,代表每隔n长时间。
  • 3、- 从X到Z ,代表?#27426;?#26102;间范围。
  • 4、,散列数字,代表分割开多个值。

三、20个经典Crontab应用实例

以脚本/root/wzfou.com/backup.sh 为演示,大?#20197;?#20351;用时记得替换为自己的脚本路径。

实例1:每1分钟执行一次

  • * * * * * /root/wzfou.com/backup.sh

实例2:每小时的第3和第15分钟执行一次

  • 3,15 * * * * /root/wzfou.com/backup.sh

实例3:每天的8点到11点的第3和第15分钟执行一次

  • 3,15 8-11 * * * /root/wzfou.com/backup.sh

实例4:每隔?#25945;?#30340;上午8点到11点的第3和第15分钟执行一次

  • 3,15 8-11 */2 * * /root/wzfou.com/backup.sh

实例5:每周一上午8点到11点的第3和第15分钟执行一次

  • 3,15 8-11 * * 1 /root/wzfou.com/backup.sh

实例6?#22909;客?#30340;21:30执行一次

  • 30 21 * * * /root/wzfou.com/backup.sh

实例7:每月1、10、22日的4 : 45执行一次

  • 45 4 1,10,22 * * /root/wzfou.com/backup.sh

实例8:每周六、周日的1 : 10执行一次

  • 10 1 * * 6,0 /root/wzfou.com/backup.sh

实例9:每天18 : 00至23 : 00之间每隔30分钟执行一次

  • 0,30 18-23 * * * /root/wzfou.com/backup.sh

实例10:每星期六的晚上23: 00 pm执行一次

  • 0 23 * * 6 /root/wzfou.com/backup.sh

实例11:每一小时执行一次

  • * */1 * * * /root/wzfou.com/backup.sh

实例12:每天晚上23点到第二天7点之间,每隔一小时执行一次

  • * 23-7/1 * * * /root/wzfou.com/backup.sh

实例13: 每个星期的第一天执行一次(即每个星期天晚上24:00开始执行).

  • @weekly /root/wzfou.com/backup.sh

实例14:每个月的15日执行一次.

  • 0 11 15 * * /root/wzfou.com/backup.sh

实例15:每个月的第一天执行一次(即每个月的1日凌晨0点开始执行).

  • @monthly /root/wzfou.com/backup.sh

实例16: 在指定的月份执行一次(在1月,4月和 6月每天晚上0点执行一次).

  • 0 0 * jan,apr,jun * /root/wzfou.com/backup.sh

实例17: 重启后执行一次.

  • @reboot /root/wzfou.com/backup.sh

实例18:定时任务执行后发一封邮件通知.

  • MAILTO="raj"
    1 1 * * * /root/wzfou.com/backup.sh

实例19:指定shell (默认的是/bin/bash)

  • SHELL=/bin/sh
    1 1 * * * /root/wzfou.com/backup.sh

实例20:指定环境变量.

  • PATH=/sbin:/bin:/usr/sbin:/usr/bin
    1 1 * * * /root/wzfou.com/backup.sh

四、Crontab可能存在的问题

4.1 Crontab不立即生效

大家新建的Crontab定时任务保存后需要等待2分钟后才会执行,当然如果想要立即执行可以重启Crontab。当crontab失效时,可以尝试/etc/init.d/crond restart解决问题,或者查看日?#31350;?#26576;个任务有没有执行/报错tail -f /var/log/cron。

4.2 Crontab不执行

脚本中涉及文件路径时写全局路径,更新系统时间时区后需要重启cron。当手动执行脚本OK,但是crontab死活不执行时很有可能是环境变量,可尝试在crontab中直接引入环境变量解决问题,例如:

  • 0 * * * * . /etc/profile;/bin/sh /root/wzfou.com/backup.sh

4.3 Crontab无权限执行

要注意系统级任务调度与用户级任务调?#21462;?#21482;有 root 用户和 crontab 文件的所有者可以在 -e 、-l、-r 和 -v 标志后面使用 UserName 以编辑、列出、除去或验证指定用户的 crontab 文件。

root用户的任务调度操作可以通过”crontab –uroot –e”来设置,?#37096;?#20197;将调度任务直?#26377;?#20837;/etc/crontab文件。

想编辑别的用户的 crontab, 使用root运行下面的命令,同一个格式 (追加 “-u username” 到命令后) ?#37096;?#20197;?#32654;?#21015;出或删除 crontabs。

  • crontab -u username -e

4.4 Crontab执行后通知

当Crontab定时任务在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,可以在日志中/var/log/cron看到。若是你不希望收到这样的通知,请在每一行空一格之后加上 > /dev/null 2>&1 即可。

您或许对下面这些文章?#34892;?#36259;:                    本月吐槽?#37327;?#25490;行榜

看贴要回贴有N种理由!看帖?#25442;?#36148;的后果你懂得的!

You must be Logged in to post comment.

部落快速搜索栏

各类专题梳理

网站?#24049;?#26639;

X
?
返回顶部
<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>
青海快三昨天
<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>
<var id="xpn71"></var>
<ins id="xpn71"></ins>
<cite id="xpn71"><noframes id="xpn71">
<ins id="xpn71"></ins>
<cite id="xpn71"></cite><del id="xpn71"></del> <var id="xpn71"><dl id="xpn71"></dl></var>
<ins id="xpn71"><span id="xpn71"><listing id="xpn71"></listing></span></ins>
<cite id="xpn71"><dl id="xpn71"></dl></cite><ins id="xpn71"></ins>
<thead id="xpn71"><dl id="xpn71"><progress id="xpn71"></progress></dl></thead>
<var id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></var>
<listing id="xpn71"></listing>
<var id="xpn71"></var><cite id="xpn71"><dl id="xpn71"></dl></cite> <cite id="xpn71"><dl id="xpn71"></dl></cite><menuitem id="xpn71"><dl id="xpn71"><listing id="xpn71"></listing></dl></menuitem>
<progress id="xpn71"><ruby id="xpn71"><span id="xpn71"></span></ruby></progress>
<ins id="xpn71"></ins>
<cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><video id="xpn71"><thead id="xpn71"></thead></video></cite>
<cite id="xpn71"></cite>
<ins id="xpn71"><dl id="xpn71"></dl></ins>
<thead id="xpn71"><dl id="xpn71"><address id="xpn71"></address></dl></thead>
<thead id="xpn71"></thead><cite id="xpn71"></cite>
<thead id="xpn71"></thead>
<cite id="xpn71"><dl id="xpn71"></dl></cite>
<ins id="xpn71"></ins><address id="xpn71"><i id="xpn71"><th id="xpn71"></th></i></address>