使用Ubuntu的Cron固定时间执行Python脚本

作者: 伪学识青年 | 来源:发表于2019-05-25 21:17 被阅读0次

    最近需要在固定时间执行Python脚本,发现Ubuntu自带的Crontab可以实现所需功能

    具体使用方法如下:

    安装crontab(若linux上未安装):

    apt-get install cron

    开启cron服务:

    service cron start

    cron命令使用语法为:

    语法图

    设置对应的时间,将对应位置上的"*"替换为数字即可

    注:默认*号为全部

    也可使用区间表示:例:1-7

    例如需要在周一至周五上午9:15运行,命令为为:

    15 9 * * 1-5 要执行的脚本路径

    注:脚本路径最好使用绝对路径

    接下来测试执行一个脚本test.py,执行时间为每分钟都运行:

    首先执行:crontab –e

    在打开的文件中添加一行:

    */1 * * * * /usr/bin/python /root/MyNewsWeb/test.py> /dev/2qw.txt

    注:test.py的执行结果将会输出至/dev/2wq.txt文件中

    添加完成后使用快捷键:Ctrl+O

    提示是否保存文件,按回车确认

    使用快捷键Ctrl+X推出

    一切顺利Ubuntu便会输出:

    crontab: installing new crontab

    表示修改成功

    重启Cron:

    service cron restart

    然后就可以使用 

    service cron status

    来查看是否运行:

    得到类似输出表示正常运行:

    root@iZuf6ismitg2f3hxl8uyawZ:/dev# service cron status

    ● cron.service - Regular background program processing daemon

      Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)

      Active: active (running) since Sat 2019-05-25 20:59:34 CST; 37s ago

        Docs: man:cron(8)

    Main PID: 5620 (cron)

        Tasks: 1 (limit: 2340)

      CGroup: /system.slice/cron.service

              └─5620 /usr/sbin/cron -f

    May 25 20:59:34 iZuf6ismitg2f3hxl8uyawZ systemd[1]: Started Regular background program processing daemon.

    May 25 20:59:34 iZuf6ismitg2f3hxl8uyawZ cron[5620]: (CRON) INFO (pidfile fd = 3)

    May 25 20:59:34 iZuf6ismitg2f3hxl8uyawZ cron[5620]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

    May 25 21:00:01 iZuf6ismitg2f3hxl8uyawZ CRON[5772]: pam_unix(cron:session): session opened for user root by (uid=0)

    May 25 21:00:01 iZuf6ismitg2f3hxl8uyawZ CRON[5771]: pam_unix(cron:session): session opened for user root by (uid=0)

    May 25 21:00:01 iZuf6ismitg2f3hxl8uyawZ CRON[5778]: (root) CMD (/usr/bin/python /root/MyNewsWeb/test.py> /dev/3qw.txt)

    May 25 21:00:01 iZuf6ismitg2f3hxl8uyawZ CRON[5779]: (root) CMD (/usr/bin/python /root/MyNewsWeb/test.py> /dev/2qw.txt)

    May 25 21:00:01 iZuf6ismitg2f3hxl8uyawZ CRON[5772]: pam_unix(cron:session): session closed for user root

    May 25 21:00:01 iZuf6ismitg2f3hxl8uyawZ CRON[5771]: pam_unix(cron:session): session closed for user root

    正确执行,我们查看/dev/2qw.txt文件:

    vi /dev/2qw.txt

    发现有了输出结果:

    2019-05-25 21:16:01.702503

    表示正常执行。

    若觉得自己修改参数麻烦,也可以使用这个网站自动生成命令:

    参考资料:

    https://medium.com/@gavinwiener/how-to-schedule-a-python-script-cron-job-dea6cbf69f4e

    https://vexxhost.com/resources/tutorials/how-to-use-cron-jobs-for-automation-on-ubuntu-14-04/

    相关文章

      网友评论

        本文标题:使用Ubuntu的Cron固定时间执行Python脚本

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