Cron 任务设置如下:
*/15 * * * * speedtest >> /home/pi/speedtest.log
脚本speedtest
如下:
#!/bin/sh
speedtest-cli --csv >> /home/pi/speedtest.log
使用 Speedtest-CLI。该作业按时执行,但我得到的只是如下 cron 输出:
Jul 19 08:17:01 raspberrypi CRON[29275]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jul 19 08:30:01 raspberrypi CRON[29378]: (pi) CMD (speedtest >> /home/pi/speedtest.log)
Jul 19 08:30:01 raspberrypi CRON[29377]: (CRON) info (No MTA installed, discarding output)
Jul 19 08:45:01 raspberrypi CRON[29430]: (pi) CMD (speedtest >> /home/pi/speedtest.log)
Jul 19 08:45:01 raspberrypi CRON[29429]: (CRON) info (No MTA installed, discarding output)
Jul 19 09:00:01 raspberrypi CRON[29608]: (pi) CMD (speedtest >> /home/pi/speedtest.log)
Jul 19 09:00:01 raspberrypi CRON[29607]: (CRON) info (No MTA installed, discarding output)
Jul 19 09:15:01 raspberrypi CRON[29791]: (pi) CMD (speedtest >> /home/pi/speedtest.log)
Jul 19 09:15:01 raspberrypi CRON[29790]: (CRON) info (No MTA installed, discarding output)
但我没有看到 speedtest.log 更新。发生了什么?
答案1
我怀疑 cron 无法找到speedtest
shell 脚本。尝试在 cron 作业中使用此脚本的完整路径,看看是否正常运行。
答案2
我遇到了同样的问题,并且正如@Scot 建议的那样,您需要使用完整路径。
使用以下方式获取完整路径:which speedtest-cli
。在我的例子中,输出为/usr/local/bin/speedtest-cli
。
在你的 cronjob(或者 bash 文件)中使用它:
*/15 * * * * /usr/local/bin/speedtest-cli >> /home/pi/speedtest.log