我想知道如何在 Ubuntu 加载时自动在后台访问网站。据我所知w3m
是从控制台访问网站。这就是为什么我在 中写了以下命令crontab -e
。
@reboot w3m http://example.com/ > test_file
将网站内容写入的原因test_file
只是为了知道此命令是否已执行。不幸的是,它并不是每次加载 Ubuntu 时都执行。但是,它后面的下一个命令(如下所示)@reboot date >> reboot_file
每次都会执行。
我的命令有什么问题?当我在控制台中执行它时,它会将 的内容输出到example.com
中test_file
。
还有其他选择吗?
答案1
如何捕获该文件中的错误消息:
@reboot w3m http://example.com/ > test_file 2>&1
答案2
尽可能使用绝对路径。 可能PATH=/bin
适用于date
(=> /bin/date
),但不适合w3m
(位于/usr/bin/w3m
)。
@reboot /usr/bin/w3m http://example.com/ > test_file
为了进一步排除故障,请查看/var/log/syslog
;cron 将所有执行的命令写入那里。
失败命令的示例:
Feb 28 13:27:01 ubuntu CRON[23705]: (username) CMD (/failing/command)
Feb 28 13:27:01 ubuntu CRON[23704]: (CRON) error (grandchild #23705 failed with exit status 127)
Feb 28 13:27:01 ubuntu CRON[23704]: (CRON) info (No MTA installed, discarding output)