我已使用以下命令设置了 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