使用ssh 批量上傳檔案

2021-09-10 08:07:39 字數 1345 閱讀 6830

上傳檔案大多數用的是ftp,但是用ftp有一點不好,就是本地和遠端的目錄要對應,這樣就要在多個目錄下去切換,這樣挺麻煩的,如果不注意的話,很有可能傳錯。所以想了個辦法利用scp來批量上傳檔案或者目錄。

一、scp上傳不要輸入密碼

如果要用scp來上傳檔案,第一步就要去掉scp上傳時要輸入密碼。要不然就沒辦法批量上傳了。具體請參考:ssh 不用輸入密碼

二、ssh批量上傳指令碼

1、要上傳的檔案列表放到乙個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)     //去掉空行

doif [ -f $file ]                 //普通檔案

then

res=`scp $file $2:$file`      //上傳檔案

if [ -z $res ]                //上傳成功

then

echo $file >> $_upload.log   //上傳成功的日誌

fielif [ -d $file ]              //目錄

then

res=`scp -r $file $2:$file`

if [ -z $res ]

then

echo $file >> $_upload.log

fifi

done

else

echo "no file" >> $_error.log

fi

上傳成功後,返回的是乙個空行,上傳不成功,什麼都不返回

[erji]3、上傳的格式[erji]

./file_upload.sh test 192.168.1.13
test是上傳列表檔案,[neiqian]192.168.1.13檔案要傳到的地方。

SSH檔案上傳

4 action處理 接收上傳檔案的臨時檔案流 private file img 上傳檔案的name為img,那麼這個檔案的名稱會自動儲存在img filename屬性裡面 private string imgfilename 上傳檔案的name為img,那麼這個檔案的型別會自動儲存在img con...

使用Git命令批量上傳檔案

git命令是相容linux命令的,當我們想批量上傳檔案的時候,可以考慮在windows的git bash中使用shell指令碼來上傳。步驟如下 先新建乙個.txt檔案,用記事本或者其他工具開啟 這裡使用 im開啟,輸入以下命令 bin bash git add git commit m 1 git ...

使用ssh命令的方法上傳檔案

使用方式如下 1 上傳本地檔案到伺服器 scp path filename username servername path 例如scp var www test.php root 192.168.0.101 var www 把本機 var www 目錄下的test.php檔案上傳到192.168....