调用 URL 并保存文件的 CRON Shell 脚本

调用 URL 并保存文件的 CRON Shell 脚本

我在浏览器上手动输入一个 URL,该 URL 调用一个具有 GET 函数的页面,该函数直接提示我保存文件。我想使用脚本上的 cron 作业自动执行此操作:

  • 调用 URL
  • 将文件保存在特定文件夹中

有人可以帮忙写脚本吗?我可以私下提供 URL 来测试行为。

答案1

无需使用用户界面(文本或 GUI)下载 URL 的一种方法是使用wget所有需要的参数(根据需要)作为 cron 作业。

关于 wget

单个 URL 的示例(输出名称与时间戳合并,以丰富答案,可以是静态名称):

 wget URL -O "/home/uname/dirn/`date +%y%m%d-%H%M%S`-n.htm" -b
 wget URL -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-n.htm" -b #in crontab

注意:在 cron 中,您必须使用“\%”(如上面的第二行)而不是仅仅使用“%”(如上面的第一行),因为 cron 会解释“百分比”字符。

其中:分解为:-O "/home..../date...-theRestOfTheName"

  • 绝对路径(cron 可能配置了自己的路径,因此从实际角度来看,在每个命令中指定感兴趣的路径通常是有利的)

  • 即时执行,date输出配置为人类可读的时间戳

  • 目标文件名的其余部分

-b要求 wget 在后台工作,并登录到 syslog。

您可以选择使用文件中的 URL 列表 ( -i filename)。您还可以尝试使用 wget 及其手册页 ( man wget) - 它相对较短,可以为您提供很多想法。

关于 cron

注意,cron 假设您的机器始终处于打开状态:cron 不会在机器关闭时执行作业。以当前用户身份编辑 cron

crontab -e

添加一行配置,指定命令的执行频率(简单的指令会以注释的形式显示在 crontab 编辑器的最上面几行中,请阅读)。要在星期日每 5 分钟运行一次,您可以这样写:

# m  h  dom mon dow   command
*/5  *   *   *   0    wget google.com -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-ind3.htm" -b

相关内容