⑴ 用shell腳本調用ftp命令,mget怎麼取得動態文件
5天, 多個天行不? 先敲一個 prompt off 這樣就取消了提示你每個文件敲yes的繁瑣步驟, mget 2013102*
⑵ linux下用shell編程FTP上傳文件的問題
Linux下用shell編程實現ftp自動登錄上傳文件,代碼如下:
####把本地/home/databachup/a.shupftp/home/databackup下####
#!/bin/bash
ftp-n<<!
openFTP伺服器IP地址
userFTP賬戶FTP密碼
binary
cd/home/data
lcd/home/databackup
prompt
puta.sha.sh#要上傳的文件
close
bye
!
⑶ shell腳本中ftp連接
對,$?僅表示上一個命令ftp成功與否。
無法判斷遠程文件是否存在,只能通過判斷本地文件大小來得知。
若遠程文件不存在,則FTP獲取到本地會產生一個0位元組大小的文件(用 wc -c 獲取文件位元組數,並與0比較即可),也可能就沒有產生文件(用test表達式 [ -e $save_name ] 來判斷)。
無法判斷具體是什麼問題,只能得知一個結果:FTP獲取文件失敗。
--------------------------------------------------------------------------------------------
根據你自己的情況來判斷。那就用 [ -e $save_name ] 判斷本地文件是否存在。
--------------------------------------------------------------------------------------------
-e 判斷文件是否存在(exist),-f 判斷這個「文件」是否為文件(file)
⑷ shell語句中如何在for當中使用ftp命令
ftp a.b.c.d <<EOF
binary
get urfile
close
bye
EOF
⑸ shell定時下載ftp文件並重命名放到指定文件夾
到你執行這個sh的用戶的mail文件裡面去看日誌,比如你是用的root用戶,那麼你可以打開/var/mail目錄下的root文件,裡面會記錄3點鍾crontab的執行情況。
一般來說問題2個方面:
1.這個sh本身不對,你可以單獨執行這個sh來調試
2.sh缺少執行許可權
有問題可以追問,希望對你有幫助
⑹ shell連接ftp的腳本
區別在於排版不同
你使用<< FTPINI時, 下面的行都要在定格寫,即行開頭不能有空格,直至結束,如
ftp -i -n $ip << FTPINI
cd /pub
ls
FTPINI
而加了-後,下面的行可以加入tab排版,如
ftp -i -n $ip <<-FTPINI
cd /pub
ls
FTPINI
⑺ shell中ftp -in
-n禁止第一次連接的時候自動登陸,即不使用.netrc文件;
-i 在多個文件傳輸期間關閉交互提示,相當於FTP中prompt命令關閉;
整個FTP過程中所有的命令都從文件$FTPFILE中獲取,並將過程追加記錄到$LOGFILE中
⑻ 求助:使用SHELL語言編寫一個腳本實現ftp功能,將一個文件從本地a目錄取到伺服器b目錄。
下面這個是我一直在用的,會檢查ftp錯誤。
#!/bin/sh
ftp_put()
{
# -n:不使用auto-login;-i:不使用互動式提示輸入
ftp -n -i $ipAddr <<EOF
quote USER $username
quote PASS $password
cd b
lcd a
binary
put $myfile
bye
EOF
}
ipAddr=ftp地址
username=你的ftp用戶名
password=你的ftp密碼
myfile=你要傳的文件名(只要名稱無需路徑)
putErrlog=用於記錄ftp錯誤的日誌文件
ftp_put >/dev/null 2>$putErrlog #ftp錯誤導入日誌文件
bytes=`wc -c $putErrlog | awk '{print $1}'` #檢查錯誤日誌文件的位元組大小
if [ $bytes -ne 0 ]; then #大小不為0說明發生了錯誤,之後可以手動打開文件檢查錯誤原因
echo "FTP put failed!"
exit 1
else
echo "FTP put successfully!"
fi
exit 0
⑼ 如何在ftp命令中使用shell變數
就是感嘆號! 進入ftp後ftp> help !! Escape to the shell 實際上,感嘆號!會新建一個shell,要再回到ftp,敲exit命令退出這個新建的shell即可。