zoukankan      html  css  js  c++  java
  • Ubuntu定时执行任务(定时爬取数据)

    cron是一个Linux下的后台进程,用来定期的执行一些任务。因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效。

    1:编辑crontab文件,用来存放你要执行的命令

    sudo crontab -e

    2:第一次用这个命令,会让你选择文本编辑器,我选的是vim
    (输入数字选择就是了!)

    3:添加执行命令

    0 7 * * * /usr/bin/python /root/world.py

    这句话的意思就是每天早上七点都会自动执行这个脚本!

    4:重启cron来应用这个计划任务

    sudo service cron restart

    0|1corntab详细说明


    1:crontab文件的基本格式如下所示

    * * * * * command 分 时 天 月 周 命令

    crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:
    分钟 0 - 59
    小时 0 - 23
    天 1 - 31
    月 1 - 12
    星期 0 - 6 0表示星期天
    * (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
    ,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
    /(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别

    2:crontab例子
    (1)30 20 * * * date >> /home/date.log //每天的20:30将日期信息追加home目录下的date.log中
    (2)5 20 13,14 * * date >> /home/date.log //每月的13日,14日20:5分将日期信息最追加home目录下的date.log中
    (3)0,10 10,12 * * * date >> /home/date.log //每天10点至12点之间,隔10分钟将日期信息最追加home目录下的date.log中
    (4)/5 * * * date >> /home/date.log //每5分钟将日期信息最追加home目录下的date.log中

    3:crontab是UNIX系统下定期执行任务的触发器。用户把要定期执行的任务记录在这个文件下面,然后crond定期的去检查这个定期执行列表,有要执行的工作时便自动执行。
    通过man crontab可以查看到下面的信息
    (1)/etc/crond.allow 表示的是允许使用crontab的用户列表
    (2)/etc/crond.deny 表示的是不允许使用crontab的用户列表

    4: crontab常用的几个命令格式
    crontab -l //显示用户的crontab文件的内容
    crontab -e //编辑用户的crontab文件的内容
    crontab -r //删除用户的crontab文件

    实例分析:

    更换成unix的换行符

    vim world.py

    查看格式

    :set ff

    发现是dos,我们要将其更换成unix

    :set ff=unix

    1 创建脚本文件world.py,在文件开头需要加上下面一行

     #!/usr/bin/python

    # encoding=utf-8

    上面这行的作用是说明使用那个解释器来执行该文件,如果不知道python解释器在哪,可以使用命令which python来查看

    设置编码格式

    2 给该文件添加可执行的权限

      chmod  +x  test.py

      注意:在脚本文件中如果涉及文件操作,请使用绝对路径,我就是在这上面掉坑里了。

    3 添加计划任务

      crontab -e

      在文件中追加一行,* 7 * * * * /usr/bin/python /root/world.py

      保存退出,:wq

    4 重启cron服务

      service cron restart

    结束

  • 相关阅读:
    ios 数据类型转换 UIImage转换为NSData NSData转换为NSString
    iOS UI 12 block传值
    iOS UI 11 单例
    iOS UI 08 uitableview 自定义cell
    iOS UI 07 uitableviewi3
    iOS UI 07 uitableviewi2
    iOS UI 07 uitableview
    iOS UI 05 传值
    iOS UI 04 轨道和动画
    iOS UI 03 事件和手势
  • 原文地址:https://www.cnblogs.com/zzmds/p/13085735.html
Copyright © 2011-2022 走看看