【发布时间】:2014-12-23 17:51:44
【问题描述】:
这个想法是,当 wget 正在运行并下载某些内容时,我可以添加另一个 URL,一旦当前下载完成,该 URL 就会被下载。我只想一次下载 1 个文件。我写了这个脚本
#!/bin/bash
test=/tmp/wget-download-link.txt
echo -n "$test" | while IFS= read -N 1 a; do
wget -o /tmp/wget.log -P /mnt/usb -i /tmp/wget-download-link.txt
if [[ "$a" == $'\n' ]] ; then
wget -nc -o /tmp/wget.log -P /mnt/usb -i /tmp/wget-download-link.txt
fi
#printf "$a"
echo download finished
done
该脚本将检查任何包含 URL 的新行,如果有,它将重新运行 wget已经存在。如果wget-download-link.txt 文件中有任何新的 URL,但是当文件已经存在时停止它,我如何让 wget 重新运行?
@msturdy 我运行了你的脚本,但是重新下载并重命名了已经存在的文件,我的脚本:
#!/bin/bash
test=/tmp/wget-download-link.txt
l=$(wc -l $test)
tail -n $l -f $test | while read url; do
wget -o /tmp/wget.log -P /mnt/usb -i /tmp/wget-download-link.txt
done
我的 wget-download-link.txt 文件:
http://media2.giga.de/2014/11/angel-beats-kanade.jpg
http://juanestebanrojas.com/wp-content/uploads/2014/06/angel-beats-wallpapers-4.jpg
http://images5.fanpop.com/image/photos/30100000/Angel-Beats-new-life-angel-beats-30142329-2560-909.jpg
http://kristenhazelkannon.files.wordpress.com/2013/06/angelbeats2.jpg
下载的文件:
angel-beats-wallpapers-4.jpg
angel-beats-wallpapers-4.jpg.1
Angel-Beats-new-life-angel-beats-30142329-2560-909.jpg.1
Angel-Beats-new-life-angel-beats-30142329-2560-909.jpg
angel-beats-kanade.jpg.2
angel-beats-kanade.jpg.1
angel-beats-kanade.jpg
angelbeats2.jpg
脚本继续运行,并将文件重命名为 .1 .2 .3 等。
【问题讨论】: