在工做中咱們常常會寫一個python腳本,而後想經過定時任務去執行,這時咱們會想到crontab.python
經過 crontab -e去設置crontabweb
例如:0 0 * * * python /data/webapps/cmdb.import.api/routine_analysis_halog.pyapi
這時若是你的腳本中會有涉及讀取配置文件或者讀寫文件的動做,通常你的定時任務都不會執行.bash
由於你的腳本在執行時,因爲是經過crontab去執行的,他的執行目錄會變成當前用戶的家目錄,若是是root,就會在/root/下執行.app
因此這樣設置定時任務是不行的.webapp
咱們也能夠經過在/etc/cron.d下新建一個文件去指定定時任務執行目錄的方式去設置定時任務.ui
如:blog
[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的執行目錄了.crontab