我正在尝试创建一个 cron 作业以在预定时间打开网页。
我已经使用crontab -e
并附加了我的工作编辑了我的 cron 。我用这样的脚本编写了我的工作:xdg-open (URL)
我将此脚本保存在我的/home/flicker
目录中。
但是,当我编辑我的 cron ( crontab -e
) 时,它会将文件另存为/tmp/crontab.tIzXBv/crontab
.
保存成功后说安装新的crontab。
我使我的文件脚本可执行,但仍然无法处理这项工作。我希望脚本在下午 14:30 运行,所以我将这一行添加到我的 crontab 中:
30 14 * * * /home/flicker/open-web.sh
Run Code Online (Sandbox Code Playgroud)
这仍然无法正常工作,请帮助。这是我的脚本如下:
#!/bin/bash
xdg-open https://www.google.com
Run Code Online (Sandbox Code Playgroud)
要通过 cron 执行 bash 脚本,我会使用
30 14 * * * /bin/bash /home/flicker/open-web.sh >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
通过 cron 和 curl 调用网页/URL
30 14 * * * /usr/bin/curl http://funkyname.com/blub.html >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
在意识到你想打开一个实际的浏览器而不是仅仅调用一个脚本之后——我想我理解你的情况。
您可以在没有 bash 脚本的情况下解决该问题 - 而是将所有逻辑直接写入您的 crontab。
铬:
30 14 * * * export DISPLAY=:0 && google-chrome --new-window http://www.randomurl.com
Run Code Online (Sandbox Code Playgroud)
火狐浏览器:
30 14 * * * export DISPLAY=:0 && firefox --new-window http://www.randomurl.com
Run Code Online (Sandbox Code Playgroud)
记住:
该--new-window
参数强制负责的浏览器打开一个新窗口,如果您不想要,只需删除该部分。
为了避免噪音输出,您可以选择>/dev/null 2>&1
在 cron 条目的末尾添加。