美文网首页
服务器定时:Centos7:利用crontab定时执行任务

服务器定时:Centos7:利用crontab定时执行任务

作者: 朝畫夕拾 | 来源:发表于2019-08-08 17:21 被阅读0次

    cron服务是Linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

    systemctl  start  crond

    systemctl  stop  crond

    systemctl  restart  crond

    systemctl  reload  crond

    以上1-4行分别为启动、停止、重启服务和重新加载配置。

    要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入  /sbin/service crond start   即可

    查看当前用户的crontab,输入  crontab  -l;

    删除crontab,输入  crontab  -r

    编辑crontab,添加定时任务,输入  crontab  -e;

    3   添加定时任务

      crontab  -e

    输入:

      /20 * * * python3 /project/python/spider.py  

    这个任务代表每20分钟以python3 运行/project/python/spider.py文件一次

    规则如下: 

    保存退出,如果没有错误提示说明格式正确。 

    添加任务成功。 

    查看定时任务结果: 

    cat  /var/log/cron 

    我这里爬到的打印结果,此时数据库也应该有数据了。 

    查询任务是否加了:

      crontab  -l  -u  root  #查看root用户

      0 */1 * * * command

      0 */2 * * * command

    基本格式 :

    *  *  *  *  *  command

    分 时 日 月 周 命令

    1  第1列表示分钟  1~59    每分钟用*或者 */1表示

    2  第2列表示小时  1~23   (0表示0点)

    3  第3列表示日期  1~31

    4  第4列表示月份   1~12

    5  第5列标识号星期  0~6(0表示星期天)

    6  第6列要运行的命令

    crontab  文件的一些例子:

    30  21   * * *  /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每晚的21:30重启apache。

    45  4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每月1、10、22日的4 : 45重启apache。

    10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每周六、周日的1 : 10重启apache。

    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

    0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每星期六的11 : 00 pm重启apache。

    * */1 * * * /usr/local/etc/rc.d/lighttpd restart

    每一小时重启apache

    * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart

    晚上11点到早上7点之间,每隔一小时重启apache

    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

    每月的4号与每周一到周三的11点重启apache

    0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

    一月一号的4点重启apache

    --------------------------------------------------------------------

    日志查看    

    --------------------------------------------------------------------

    看   /var/log/cron   这个文件就可以,可以用  tail -f /var/log/cron  观察

    每10秒执行一次

    * * * * * curl http://www.baidu.com

    * * * * * sleep 10; curl http://www.baidu.com

    * * * * * sleep 20; curl http://www.baidu.com

    * * * * * sleep 30; curl http://www.baidu.com

    * * * * * sleep 40; curl http://www.baidu.com

    * * * * * sleep 50; curl http://www.baidu.com

    相关文章

      网友评论

          本文标题:服务器定时:Centos7:利用crontab定时执行任务

          本文链接:https://www.haomeiwen.com/subject/jftfjctx.html