自動ftp指令碼的使用

2021-05-24 09:50:05 字數 1230 閱讀 5145

1. 使用.netrc檔案

在自己的home目錄下建立乙個許可權600,名為.netrc的檔案,內容是:

machine 192.168.1.1 login test password test

其中192.168.1.1為伺服器的ip或主機名,test為伺服器的乙個帳號,後乙個test為密碼。

這樣以後你每次ftp 192.168.1.1的時候,系統都會幫你以使用者名稱test,密碼test登入。

2. 在指令碼中寫ftp命令

ftp -n<

3. 使用命令檔案

ftp伺服器ip位址為10.30.15.3,需進行檔案傳輸的目錄為c:\data,登入使用者名為anonymous,口令為123456。從本機到對方機接收檔案操作方法如下。

第一步,先新建乙個文字:

open 10.31.15.3

user anonymous

123456

cd data

prompt

mget *.*

byequit

exit

將該文字儲存為1.ftp存放到c盤根目錄。該檔案只要擴充套件名為ftp,字首可任意取名。目錄也不一定要在根目錄,主要以方便為主。文字中bin為用二進位製碼格式傳輸檔案,如用ascii碼格式傳輸檔案可去掉該行。如為本機向對方機傳送檔案,則只要將文字中的mget替換成mput即可。這之後,再新建另乙個文字:

ftp –n –s:」c:/1.ftp」

4. 使用expect等指令碼

spawn ftp [lindex $argv 0]

expect "name (*):"

send "anonymous/r"

expect "password:*"

send "/r"

expect "ftp>"

send "binary/r"

expect "ftp>"

send "hash/r"

expect "ftp>"

send "get [lindex $argv 1]/r"

expect "* transfer complete."

send "exit/r"

執行方法:expect ftp.sh 伺服器ip位址  檔名稱

(expect ftp.sh 192.168.0.1 filename.txt )

使用指令碼實現自動FTP

open 192.168.1.100 用open連線遠端 伺服器192.168.1.100 user myname mypassword myname是使用者名稱,mypassword是密碼 binary 以二進位制傳送 hash 當有資料傳送時,顯示 號 cd remote pathname 進入...

ftp指令碼自動登入

在windows下非常簡單,windows下的ftp客戶端有乙個 s引數可以帶乙個檔案,把所有在ftp命令列下要輸入的內容照原樣輸入到這個檔案中,用ftp s去執行就可以。例如 open 10.60.56.90 whb123456 get test close bye把這個檔案儲存為autologi...

shell指令碼實現ftp自動備份

ftp命令把遠端計算機上的檔案傳輸到本地計算機時,需要和使用者互動。怎樣使互動過程自動化呢?利用here文件 bin sh ftp ivn 210.29.28.124 解釋 i 關閉多檔案傳輸過程中的互動提示,所以不會再有讓使用者輸入使用者名稱和密碼的提示 n 阻止了初始連線時的自動登入 v 將ft...