Cron 语法,macOS

1 投票
3 回答
3315 浏览
提问于 2025-04-16 06:51

问题简述

我想让一个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

撰写回答