我正在尝试运行一个python3脚本,每天在特定的时间检查电子邮件的特定条件。
我可以看到crontab调用了这些命令,但脚本没有给出我需要的结果,即似乎没有运行。我可以在syslog中看到cron的执行:
8月3日16:25:01 raspberrypi/USR/SBIN/CRON[4597]:(pi)CMD(cd/home/pi/pythonscripts)
8月3日16:25:01 raspberrypi/USR/SBIN/CRON[4598]:(pi)CMD(sudo python3 dfj\u gmail\u test\u v1g.py
8月3日16:25:02 raspberrypi/USR/SBIN/CRON[4595]:(CRON)信息(未安装MTA,丢弃输出)
python脚本需要运行、检查gmail,如果发现某封邮件有某个主题,它应该在我的树莓上通过GPIO打开LED,这对我来说更像是一个测试。如果我从命令行本身运行脚本(使用crontab中的行),脚本将进行检查并点亮指示灯。所以剧本本身很好。关于python脚本为什么不能通过cron工作的更多信息,有什么想法吗?
看来你有两个不同的任务,一个在做
cd /home/pi/pythonscripts
另一个呢
sudo python3 dfj_gmail_test_v1g.py > /home/pi/pythonscripts/cronlog.log
这些是独立的作业,第一个作业不会影响第二个作业,因此不会更改第二个作业的工作目录,也不会找到脚本。如果希望这样做,则需要对这两个命令都使用一个命令,例如:
cd /home/pi/pythonscripts && sudo python3 dfj_gmail_test_v1g.py > /home/pi/pythonscripts/cronlog.log
或者,如果工作目录并不重要,请提供python文件的完全限定路径:
sudo python3 /home/pi/pythonscripts/dfj_gmail_test_v1g.py
此外,如果要从crontab中使用sudo,请考虑直接使用root用户的contab。您应该将stderr和stdout重定向到日志文件,以便在出现错误时提供更详细的输出,例如:
... > /home/pi/pythonscripts/cronlog.log 2>&1
或者安装一个MTA,然后cront作业的输出将作为电子邮件发送给所有者。
第一次使用cron作业,我在linux上相对较新,我似乎无法让它工作,如果我只是在命令行中手动运行它,它工作得很好,但不是作为cron作业。 我是这样设置的: 合同-e 插入模式 */3****root(cd/home/ec2 user/;java-jar-feedPuller-1.jar)(每3分钟测试一次) 保存并退出 它说它已经创建了一个新的cron作业选项卡 现在,当我做crontab-l
问题内容: 我想以分离模式在docker容器中运行python cron作业。我的设置如下: 我的python脚本是test.py 我的cron文件是my-crontab 而我的Dockerfile是 这种方法潜在的问题是什么?还有其他方法,它们的优缺点是什么? 问题答案: 我在尝试使cron作业在docker容器中运行时遇到的几个问题是: Docker容器中的时间不是UTC的本地时间; dock
这种方法的潜在问题是什么?是否还有其他方法,它们的利弊是什么?
问题内容: 因此,我试图将cron作业设置为我创建的守护程序的一种看门狗。如果守护程序出错并失败,我希望cron作业定期重新启动它…我不确定这样做的可能性如何,但是我通读了一些cron教程,找不到任何可以做我的事情正在寻找… 我的守护程序是从Shell脚本开始的,所以我真的只是在寻找一种方法来运行cron作业,前提是该作业的先前运行仍未运行。 它确实为我试图使用锁定文件提供了解决方案,但我不确定是
问题内容: 很简单,我有要每月执行一次的节点脚本。 但这是行不通的,大概是因为该命令正在运行的路径或外壳。我尝试了以下通过cron执行节点的方法(已通过-v测试): 我没办法尝试了,有什么建议吗? 问题答案: 只需提供cron作业中node的完整路径即可,例如:
问题内容: 如何通过PHP脚本设置cron作业。 问题答案: 这将添加一个每天上午9:30运行的脚本。 如果从Web服务器运行此脚本,可能会遇到权限问题。为了解决这个问题,我建议使用另一种方法。 这是一种可能的解决方案。创建需要运行的脚本列表。您可以将其保存在文本文件或数据库中。创建一个脚本来读取此列表,并每分钟或每5分钟(使用cronjob)运行它。您的脚本将需要足够聪明,以决定何时运行脚本列表