新聞中心
上傳文件大多數(shù)用的是ftp,但是用ftp有一點(diǎn)不好,就是本地和遠(yuǎn)程的目錄要對(duì)應(yīng),這樣就要在多個(gè)目錄下去切換,這樣挺麻煩的,如果不注意的話,很有可能傳錯(cuò)。所以想了個(gè)辦法利用scp來(lái)批量上傳文件或者目錄。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)海倫免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
一、scp上傳不要輸入密碼
如果要用scp來(lái)上傳文件,第一步就要去掉scp上傳時(shí)要輸入密碼。要不然就沒(méi)辦法批量上傳了。具體請(qǐng)參考:ssh 不用輸入密碼
二、ssh批量上傳腳本
1、要上傳的文件列表放到一個(gè)test文件中
root@ubuntu:/home/zhangy# cat test
/home/zhangy/test/aaa
/home/zhangy/test/nginx.conf
/home/zhangy/test/test.sql
/home/zhangy/test/pa.txt
/home/zhangy/test/password
上面就要上傳的文件。
2、批量上傳的腳本
vim file_upload.sh[neiqian]
#!/bin/sh
DATE=`date +%Y_%m_%d_%H`
if [ $1 ]
then
for file in $(sed '/^$/d' $1) //去掉空行
do
if [ -f $file ] //普通文件
then
res=`scp $file $2:$file` //上傳文件
if [ -z $res ] //上傳成功
then
echo $file >> ${DATE}_upload.log //上傳成功的日志
fi
elif [ -d $file ] //目錄
then
res=`scp -r $file $2:$file`
if [ -z $res ]
then
echo $file >> ${DATE}_upload.log
fi
fi
done
else
echo "no file" >> ${DATE}_error.log
fi
上傳成功后,返回的是一個(gè)空行,上傳不成功,什么都不返回
[erji]3、上傳的格式[erji]
./file_upload.sh test 192.168.1.13
test是上傳列表文件,[neiqian]192.168.1.13文件要傳到的地方。
網(wǎng)站題目:使用ssh批量上傳文件
網(wǎng)站鏈接:http://m.5511xx.com/article/dpsdcjj.html


咨詢
建站咨詢
