如何让CRON调用正确的PATH [英] How to get CRON to call in the correct PATHs

查看:159
本文介绍了如何让CRON调用正确的PATH的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想让cron在正确的PATH中调用。当我从shell运行一个Python脚本时,脚本运行良好,因为它使用在bashrc中设置的PATH,但是当我使用cron所有的PATH不从bashrc使用。有没有文件,我可以输入PATHs为cron像bashrc或一个方法来调用从bashrc的PATHs?

I'm trying to get cron to call in the correct PATHs. When I run a Python script from shell the script runs fine as it uses the PATHs set in bashrc but when I use cron all the PATHs are not used from bashrc. Is there a file I can enter the PATHs into for cron like bashrc or a way to call the PATHs from bashrc?

对不起,我不认为我的措辞这个正确,我可以得到正确的脚本运行(意味着crontab中的脚本的PATH不是这里的问题),它只是当该脚本运行时我运行一个构建,这使用在 .bashrc中设置的PATH 。当我登录时运行脚本, .bashrc PATHs被拉入。因为cron不运行在shell中, code> .bashrc 。

Sorry I don't think I worded this correctly, I can get the correct script to run (meaning the PATH to the script in crontab is not the problem here), it's just when that script is running I run a build and this uses the PATHs set in .bashrc. When I run the script when I'm logged in, the .bashrc PATHs are pulled in. Since cron doesn't run in a shell per say it does not pull in .bashrc. Is there a way of pulling this in without having to write a bash script wrapper?

推荐答案

我使用了 / etc / crontab 。我使用 vi ,并在我需要的PATH中输入这个文件,并以root身份运行。正常的crontab会覆盖您设置的PATH。有关如何执行此操作的一个很好的教程是: http:// unixhelp。 ed.ac.uk/CGI/man-cgi?crontab+5

I used /etc/crontab. I used vi and entered in the PATHs I needed into this file and ran it as root. The normal crontab overwrites PATHs that you have set up. A good tutorial on how to do this is: http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5.

系统范围的cron文件如下所示:

The system wide cron file looks like this:

This has the username field, as used by /etc/crontab.
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
42 6 * * *   root    run-parts --report /etc/cron.daily
47 6 * * 7   root    run-parts --report /etc/cron.weekly
52 6 1 * *   root    run-parts --report /etc/cron.monthly
01 01 * * 1-5 root python /path/to/file.py

这篇关于如何让CRON调用正确的PATH的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆