shell腳本中ftp命令
1. -i表示關閉互動式登陸方式,就是就不問你什麼帳號密碼了
-n表示不使用.netrc自動登陸。.netrc是ftp的初始化文件
2. open 10.1.128.112 3839,這3839表示埠
3. 沒錯,是用戶名密碼
4. 這個應該錯了在我這ftp下沒這個命令,我這是centos 5.4
ftp> put FTPPerformanceTest/2.sh
local: FTPPerformanceTest/2.sh remote: FTPPerformanceTest/2.sh
local: FTPPerformanceTest/2.sh: No such file or directory
執行shell腳本也出錯
local: FTPPerformanceTest/2.sh: No such file or directory
改成put $1 $2後正常
5. ftp2put 20Apt.txt 20最終反應到shell腳本中的命令就是put 20Apt.txt 20,即把20Apt.txt上傳到ftp伺服器並改名為20
6. sleep 1 表示休眠1秒對吧?,對的。
B. shell腳本中ftp連接
你先看看你的IP是不是192開頭的並且大多數都是這樣的
192.168.1.什麼什麼的記住第3位一定要是1.
C. shell腳本中取ftp遠程伺服器文件的問題
ftp使用mget下載多個文件默認有提示,可以增加-i參數,表示不提示:
ftp-i-n<<!
...
一般如果在Windows下編輯的文件,傳到linux環境下,文件內容里會因為回車換行表示方式不一樣,會出現^M符號,可以在傳到linux環境後,可以使用dos2unix等工具轉換(該工具因linux版本不同可能並未默認安裝)。另外,要注意所傳文件是否是二進制還是一般文本文件,如果是二進制文件,最好在get前執行bin命令表示傳輸二進制文件。
D. 編譯一個shell腳本,ftp到主機 新建目錄 拷貝文件 刪除目錄 退出
首先,腳本並不需要知道本身所在主機的IP,所以,用不到10.10.141.91這個源地址。
再次,ftp命令中不支持直接在伺服器端新建文件,只能先在本地新建後上傳。其實,ftp客戶端軟體,如CuteFTP也都是這么做的,只是你覺察不到。
#!/bin/bash
host="10.10.142.72"
username="xxxx"
#這里寫你的FTP登錄用戶名
password="xxxxxxx"
#這里寫你的FTP登錄密碼
file1="testexam1"
file2="testexam2"
touch
$file1
touch
$file2
(
ftp
-ni
$host
<<EOF
quote
USER
$username
quote
PASS
$password
cd
/home/query
#切換伺服器目錄
binary
put
$file1
put
$file2
lcd
/home/query
#切換本地目錄
get
$file1
delete
$file1
bye
EOF
)
>/dev/null
2>err.log
E. Linux shell 腳本ftp傳輸文件
ftp xxxxftp伺服器
put命令上傳
或者
輸入ftp
執行open xxxftp伺服器
然後 再執行
put命令上傳。
F. shell腳本中ftp問題
ftp 登錄後,我感覺是不支持shell語法的(目前還不確定),建議使用mget 下載多個文件!
G. suse 的 b shell 腳本中怎麼寫 ftp 命令
重點是這一句:ftp -v -i -n 218.200.245.84</home/mediation/config.billing>>/home/mediation/log/ftpcdr.log
從這一句看出所有的FTP命令都是從「/home/mediation/config.billing」此文件中讀取的,所以你要的FTP命令都在這個文件中。
