【问题标题】:Creating a wget Bash Script创建 wget Bash 脚本
【发布时间】:2013-10-02 10:47:34
【问题描述】:

我正在创建一个 wget 脚本来下载和镜像站点。 URL 取自文本文件。我几乎已经创建了整个脚本,但现在我需要让它变得完美。 每天要使用3个小时,所以应该从上次结束的地方继续。
我在下面提供了我的脚本,如果有人觉得它有用可以使用它,但在脚本中保留我的名字。

脚本问题:

脚本未正确引用其链接,使其可引用到父目录中的文件,请告诉我。
即使使用 --continue 参数,脚本在中间中止后也不会恢复

#       Created by Salik Sadruddin Merani
#       email: ssm14293@gmail.com
#       site: http://www.dragotech-innovations.tk
clear
echo '  Created by: Salik Sadruddin Merani'
echo '  email: ssm14293@gmail.com'
echo '  site: http://www.dragotech-innovations.tk'
echo
echo '  Info:'
echo '  This script will use the URLs provided in the File "urls.txt"'
echo '  Info: Logs will be saved in logfile.txt'
echo '  URLs are taken from the urls.txt file'
#
url=`< ./urls.txt`
useragent='Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'
echo '  Mozilla Firefox User agent will be used'

cred='log=abc@123.org&pwd=abc123&wp-submit=Log In&redirect_to=http://abc@123.org/wp-admin/&testcookie=1'
echo '  Loaded Credentails'
echo '  Logging In'
wget --save-cookies cookies.txt --post-data ${cred} --keep-session-cookies http://members.ebenpagan.com/wp-login.php --delete-after

OIFS=$IFS
IFS=','
arr2=$url
for x in $arr2
do
    echo '      Loading Cookies'
    wget --spider --load-cookies cookies.txt --keep-session-cookies --mirror --convert-links --page-requisites ${x} -U ${useragent} -np --adjust-extension --continue -e robots=no --span-hosts --no-parent -o log-file-$x.txt
done
IFS=$OIFS

问候

【问题讨论】:

  • ...那么问题是什么?
  • 我认为他的意思是他的代码没有从他重新启动时的最后位置恢复。
  • 嗯...抱歉,如果不清楚...代码没有恢复...谢谢@MattJoyce
  • 有人吗?该代码也在从其他服务器下载站点及其内容,这可能是原因吗?

标签: linux bash wget mirror


【解决方案1】:

wget 中的 --continue 标志将尝试恢复当前目录中单个文件的下载。有关更多信息,请参阅 wget 的手册页。写的很详细。

您需要从脚本之前停止的地方恢复镜像/下载。

因此,它更多的是对脚本的修改,而不是 wget 中的某些设置。我可以建议一种方法来做到这一点,但请注意,您也可以使用不同的方法。

将 URLs.txt 文件修改为每行一个 URL。然后参考这个伪代码-

  1. 从文件中获取url
  2. 如果(url 以标记#DONE 结尾),继续
  3. 否则,wget 命令
  4. 将标记#DONE 附加到文件中 url 的末尾

这样,您将在下次运行脚本时知道从哪个 URL 继续。所有末尾带有“#DONE”的 URL 都将被跳过,其余的将被下载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    相关资源
    最近更新 更多