Cron 语法,macOS
问题简述
我想让一个Python脚本每天每分钟都运行一次。我希望cron能按照这个顺序每分钟运行以下两个命令:
cd ~/desktop/WebProgramming
python MyPythonScript.py
cron能同时运行两个命令吗?
详细说明
我在Mac的cron调度器中运行Python脚本时遇到了一些困难。简单来说,我希望每分钟都运行这个脚本,以下是我的Cron语法:
* * * * * python ~/desktop/WebProgramming/MyPythonFile.py
我的Python文件需要使用WebProgrammingFolder中的几个文件——当我第一次进入这个目录(cd ~/desktop/WebProgramming/
)并手动运行脚本时,程序运行得很好。但是,当我尝试在cron中运行它时,出现了一个错误,提示“目录中没有文件”,这是因为MyPythonFile中的代码引用了文件夹中的其他文件。因此,我希望cron能先进入这个目录,然后再执行运行文件的命令。
3 个回答
0
在使用定时任务(cron)时,尽量使用脚本的绝对路径。
1
这段代码的意思是:先进入到你电脑桌面的一个叫“WebProgramming”的文件夹,然后再运行一个Python程序。这里的“cd”是“change directory”的缩写,意思是“改变目录”,也就是切换到指定的文件夹。后面的“&&”表示前面的操作成功后再执行后面的操作。总之,这行代码就是在告诉你怎么去一个文件夹并运行Python代码。
6
正确的解决办法是让 MyPythonFile.py
在合适的文件夹里寻找它需要的文件。
如果你不想这么做(...),那么:
* * * * * cd ~/desktop/WebProgramming ; python MyPythonScript.py