通过cron运行时无法使用python脚本找到文件

Ber*_*met 2 python linux cron

我有一个自动脚本 - 我的意思是,它每10分钟由一个cronjob运行.奇怪的是:当我手动启动脚本时,总是找到文件并运行它.但是当它通过cron工作运行时,它给我带来了很多麻烦.

这些是文件的权利:

-rw-r--r-- 1 dataloader users     181 Dec 19 12:37 Foo.after
-rwxr-xr-x 1 dataloader users   26098 Feb 16 20:56 loader.py
Run Code Online (Sandbox Code Playgroud)

这是loader.py的摘要,它检查Foo.after:

if os.path.exists(self.customer+'.after'):
            print 'customer file exists'
            f = open(self.customer+'.after')
Run Code Online (Sandbox Code Playgroud)

hex*_*rot 7

cronjob不在与脚本相同的目录/环境中执行.

你可以通过调整你的cronjob来解决这个问题:

* * * * * cd /home/yourdir; ./loader.py
Run Code Online (Sandbox Code Playgroud)

要么

* * * * * /home/mc/dotasks.sh
Run Code Online (Sandbox Code Playgroud)

dotasks.sh包含:

cd /home/yourdir
./loader.py
#anything else you need to do
Run Code Online (Sandbox Code Playgroud)