• linux crontab执行python脚本问题


    在工作中我们经常会写一个python脚本,然后想通过定时任务去执行,这时我们会想到crontab.

    通过 crontab -e去设置crontab

    例如:0     0       *       *       *     python /data/webapps/cmdb.import.api/routine_analysis_halog.py

    这时如果你的脚本中会有涉及读取配置文件或者读写文件的动作,一般你的定时任务都不会执行.

    因为你的脚本在执行时,由于是通过crontab去执行的,他的执行目录会变成当前用户的家目录,如果是root,就会在/root/下执行.

    所以这样设置定时任务是不行的.

    我们也可以通过在/etc/cron.d下新建一个文件去指定定时任务执行目录的方式去设置定时任务.

    如:

    [root@zb_10-0-3-72_lin_opsipaddressmanager cron.d]# cat /etc/cron.d/sync_jira 
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/data/webapps/ops.manage.ui
    0 5 * * * root python manage.py sync_jira_info 

    这样就可以指定crontab的执行目录了.

  • 相关阅读:
    ETL之数据库
    Git的简单实用
    Linux-easy mock部署
    Linux-docker安装mysql
    Linux-安装docker
    Linux-centos7安装Python3和pip3
    Linux-VMware下安装centos7
    Python之hasattr()、getattr()和setattr()
    jsonpath 信息抽取类库
    Python之内置测试框架unittest
  • 原文地址:https://www.cnblogs.com/terrycy/p/6961339.html
Copyright © 2020-2023  润新知