man
wget
说页面
NAME
Wget - The non-interactive network downloader.
DESCRIPTION
Wget is non-interactive, meaning that it can work in the background,
while the user is not logged on. This allows you to start a retrieval
and disconnect from the system, letting Wget finish the work. By
contrast, most of the Web browsers require constant user's presence,
which can be a great hindrance when transferring a lot of data.
wget
是我所知道的非交互式程序的一个例子。现在我的问题是,
wget
无需用户登录如何使用?- 非交互式程序如何工作?
答案1
如何在没有用户登录的情况下使用 wget?
通过将 wget 命令包含在守护进程/服务或您作为用户不启动下载的程序中。
非交互式程序如何工作?
当您创建守护进程并激活该守护进程时,它可以继续探测服务器并请求下载。如果服务器死机,则非交互式程序将在服务器恢复后继续运行,无需用户采取任何行动。
例如,更新 Ubuntu 无需用户采取任何操作,甚至无需登录即可完成。
答案2
对我来说,在您未登录时运行程序的最简单方法是在 crontab 文件中包含一行:
# m h dom mon dow command
*/30 * * * * test -x /home/koju/bin/yourscript && /home/koju/bin/yourscript
进行测试是为了避免cron
在无法找到脚本时通过电子邮件收到投诉。有关第一个字段的格式,请查看man 5 crontab
。
从yourscript
你调用 wget,因为它是非交互式它不会提示您通过要求输入来进行交互。只要命令行选项为wget
您提供了所需的信息,上述设置就会每 30 分钟为您运行一次。
当然,yourscript
在定期运行它之前,您应该手动启动它进行测试。您可能会发现 wget 功能不够强大,无法满足您的要求,尤其是在需要基本登录以外的用户交互的网页上。