Cron:没有输出文件,但运行时没有错误

Cron:没有输出文件,但运行时没有错误

我已使用以下命令设置了 Cron:

* * * * * SHELL=/usr/bin/sh PATH=~/lectio-skema-til-.ics-kalender-master/script.sh

其中script.sh

#!/usr/bin/sh
cd /var/www/html/SECRET-PATH
wget "http://localhost:9002/?skole=518&elev=36015389032" -O kalender.ics

该命令在中wget "http://localhost:9002/?skole=518&elev=36015389032" -O kalender.ics生成一个kalender.ics文件/var/www/html/SECRET-PATH,并且运行该script.sh文件工作正常,但是当使用 Cron 运行它时,在中没有生成任何文件/var/www/html/SECRET-PATH

我不知道哪里出了问题,因为邮件中没有产生任何错误,并且执行grep CRON /var/log/syslog也没有任何错误。

答案1

假设你以当前用户身份运行特定脚本(假设你的用户),然后是 crontab 条目你的用户应该是这样的:

* * * * * /home/your_user/lectio-skema-til-.ics-kalender-master/script.sh

脚本的第一行表示/usr/bin/sh应使用名为的解释器。在我的安装中,没有这样的可执行文件。您应该将/bin/bash或(对于更快的版本)更改为/bin/sh 哪一个是短跑

脚本调用wget命令。但是,您的 crontab 中可能未正确设置 PATH 环境。最好在命令中使用完整路径。在我的安装中wget位于/usr/bin/wget。因此,您的脚本应该是这样的:

#!/bin/sh
cd /var/www/html/SECRET-PATH
/usr/bin/wget "http://localhost:9002/?skole=518&elev=36015389032" -O kalender.ics

相关内容