使用curl遞歸下載軟件腳本分享
更新時(shí)間:2014年03月05日 10:33:19 作者:
本腳本完成了對(duì)apache的鏡像網(wǎng)站的遞歸掃描。通過文件IO的緩存方式記錄可下載文件,再針對(duì)需要文件的后綴名批量下載軟件包備用,大家可以修改成自己腳本
復(fù)制代碼 代碼如下:
#!/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
clear
Url="http://mirrors.cnnic.cn/apache/"
DownListFile="/tmp/downlist.txt"
DownListTmpFile="/tmp/tmplist.txt"
DownFileType="zip$|gz$"
DownList=""
UrlBack="$Url"
[ ! -f $DownListFile ] && touch $DownListFile || echo > $DownListFile
[ ! -f $DownListTmpFile ] && touch $DownListTmpFile || echo > $DownListTmpFile
CURL_URLS(){
Urls=`curl $UrlBack |awk -F "a href=\"" '{printf "%s\n",$2}'|awk -F "\"" '{printf "%s\n",$1}'|grep -vE "^$|^\?|^http:\/\/"|^#`
}
URL_LIST(){
CURL_URLS
for i in $Urls ;do
echo "$UrlBack$i" >> $DownListTmpFile
done
}
RECURSIVE_SEARCH_URL(){
UrlBackTmps=`cat $DownListTmpFile`
[[ "$UrlBackTmps" == "" ]] && echo "no more page for search" && exit 1
for j in $UrlBackTmps ;do
if [[ "${j##*\/}" != "" ]] ;then
echo "$j" >> $DownListFile
else
UrlBack="$j"
URL_LIST
fi
UrlTmps=`grep -vE "$j$" $DownListTmpFile`
echo "$UrlTmps" > $DownListTmpFile
RECURSIVE_SEARCH_URL
done
}
DOWNLOAD_FILE(){
DownList=`grep -E "$DownFileType" $DownListFile`
for k in $DownList ;do
FilePath=/tmp/${k#*\/\/}
[ ! -d `dirname $FilePath` ] && mkdir -p `dirname $FilePath`
[ ! -f $FilePath ] && cd `dirname $FilePath` && curl -O $k
done
}
URL_LIST $Urls
RECURSIVE_SEARCH_URL
相關(guān)文章
Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例
這篇文章主要介紹了Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例,包含最基本的加減乘除,還有質(zhì)數(shù)、偶數(shù)的判斷等,需要的朋友可以參考下2014-06-06高級(jí)開發(fā)運(yùn)維測(cè)試必須掌握的envsubst命令使用詳解
這篇文章主要為大家介紹了高級(jí)開發(fā)運(yùn)維測(cè)試必須掌握的envsubst命令使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Shell中調(diào)用、引用、包含另一個(gè)腳本文件的三種方法
這篇文章主要介紹了Shell中調(diào)用、引用、包含另一個(gè)腳本文件的三種方法,需要的朋友可以參考下2014-04-04linux shell 自定義函數(shù)方法(定義、返回值、變量作用域)
linux shell 可以用戶定義函數(shù),然后在shell腳本中可以隨便調(diào)用。下面說說它的定義方法,以及調(diào)用需要注意那些事項(xiàng)2014-09-09Shell腳本實(shí)現(xiàn)硬盤空間和表空間的使用情況統(tǒng)計(jì)并郵件通知
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)硬盤空間和表空間的使用情況統(tǒng)計(jì)并郵件通知,其中表空間是指oracle數(shù)據(jù)庫里的表空間,需要的朋友可以參考下2014-12-12