我想从http服务器下载所有文件,例如: http://dl.mysite.com/files/ 我也想进入该文件夹内的每个文件夹。 但我确实只想下载那些有" 480p"以他们的名义。
使用wget
的最简单的解决方案是什么?
编辑:
我想让这个脚本每天凌晨2点到早上6点运行,将这些文件从该服务器同步到我的电脑。
答案 0 :(得分:0)
以下wget
命令应使用以下标志:
wget -A "*480p*" -r -np -nc --no-check-certificate -e robots=off http://dl.mysite.com/files/
说明:
-A
“ 480p ”你的模式
-r, recursively
以递归方式浏览文件夹
-np, --no-parent
忽略指向更高目录的链接
-nc, --no-clobber
如果文件在同一目录中多次下载,Wget的行为取决于几个选项,包括'-nc'。在某些情况下,重复下载后,本地文件将被破坏或覆盖。在其他情况下,它将被保留。
--no-check-certificate
不要根据可用的证书颁发机构检查服务器证书。
-e, --execute command
这样调用的命令将在 .wgetrc
robots=off
机器人排除
有关wget
标志的更多信息,请参阅官方GNU手册页:https://www.gnu.org/software/wget/manual/wget.html
关于每天运行一次,您可能想要阅读Cron
个工作。摘自文档页面:https://help.ubuntu.com/community/CronHowto
crontab文件是一个简单的文本文件,其中包含要在指定时间运行的命令列表。它使用crontab命令进行编辑。 crontab文件中的命令(及其运行时间)由cron守护程序检查,后者在系统后台执行它们。
所以基本上你需要把你的wget
命令放到一个文件中,并设置cron在指定的时间运行这个文件。
注意:Windows没有Cron
的本机实现,但您可以使用 Windows任务计划程序实现相同的效果。