Cron Job 和脚本文件

Cron Job 和脚本文件

我对这个操作系统还很陌生,但学得很快。

我按照以下链接中的说明进行操作,一切都按要求完成

https://www.dynu.com/DynamicDNS/IPUpdateClient/RaspberryPi-Dynamic-DNS

cron 任务在给定时间运行,我可以通过查看系统日志来验证它是否执行任何操作。但是当我运行命令时

echo url="https://api.dynu.com/nic/update?username=USERNAME&password=PASSWORD" | curl -k -o ~/dynudns/dynu.log -K -

在命令提示符下,我得到了结果,并且信息在 dynu.com 网站上更新。这意味着脚本没有运行(如果我没记错的话)。我在 18.04 和 raspberry pi 3 model B 上尝试过。有人可以帮忙吗?

答案1

遇到了与您的描述完全相同的问题(dynu 和 duckdns 的教程相同)。

对我来说,它帮助我改变了

*/5 * * * * /home/pi/duckdns/duck.sh >/dev/null 2>&1

4,9,14,19,24,29,34,39,44,49,54,59 * * * * /home/pi/duckdns/duck.sh >/dev/null 2>&1

两种方式我都能看到程序运行

pi@raspberrypi:~ $ service cron status
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-01-02 21:27:11 GMT; 9min ago
     Docs: man:cron(8)
 Main PID: 285 (cron)
    Tasks: 1 (limit: 881)
   CGroup: /system.slice/cron.service
           └─285 /usr/sbin/cron -f

Jan 02 21:27:11 raspberrypi systemd[1]: Started Regular background program processing daemon.
Jan 02 21:27:12 raspberrypi cron[285]: (CRON) INFO (pidfile fd = 3)
Jan 02 21:27:12 raspberrypi cron[285]: (CRON) INFO (Running @reboot jobs)
Jan 02 21:29:01 raspberrypi CRON[557]: pam_unix(cron:session): session opened for user pi by (uid=0)
Jan 02 21:29:01 raspberrypi CRON[558]: (pi) CMD (/home/pi/duckdns/duck.sh >/dev/null 2>&1)
Jan 02 21:29:03 raspberrypi CRON[557]: pam_unix(cron:session): session closed for user pi
Jan 02 21:34:01 raspberrypi CRON[613]: pam_unix(cron:session): session opened for user pi by (uid=0)
Jan 02 21:34:01 raspberrypi CRON[614]: (pi) CMD (/home/pi/duckdns/duck.sh >/dev/null 2>&1)
Jan 02 21:34:02 raspberrypi CRON[613]: pam_unix(cron:session): session closed for user pi

但仅通过指定程序运行的分钟数,它实际上就更新了 duckdns 站点上的 ip 地址。多次测试并重新启动 raspberry,结果始终相同。

希望这可以帮助。

相关内容