當前位置:首頁 » 文件傳輸 » shell中ftp
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

shell中ftp

發布時間: 2023-07-05 22:22:52

⑴ shell ftp not connected

您問的是shell ftp not connected翻譯吧。
譯為:shell ftp未連接。寫的一個shell中,一直是可以正常連接ftp的,近期ftp伺服器修改了密碼,所以shell里的密碼也要跟著修改,只要在密碼上面用單引號引住就可以正常連接了。

⑵ xshell ftp 工具怎麼使用

xshell和Xftp安裝完成之後。打開Xshell,點擊新建

⑶ 求助:使用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

⑷ shell腳本中ftp連接

對,$?僅表示上一個命令ftp成功與否。
無法判斷遠程文件是否存在,只能通過判斷本地文件大小來得知。
若遠程文件不存在,則FTP獲取到本地會產生一個0位元組大小的文件(用 wc -c 獲取文件位元組數,並與0比較即可),也可能就沒有產生文件(用test表達式 [ -e $save_name ] 來判斷)。
無法判斷具體是什麼問題,只能得知一個結果:FTP獲取文件失敗。
--------------------------------------------------------------------------------------------
根據你自己的情況來判斷。那就用 [ -e $save_name ] 判斷本地文件是否存在。
--------------------------------------------------------------------------------------------
-e 判斷文件是否存在(exist),-f 判斷這個「文件」是否為文件(file)

⑸ shell腳本ftp到遠程目錄

1.下載遠程電信機房中機器上已打包好的數據.這個不難,一條語句搞定.
復制代碼代碼如下:
wget
ftp://user_name:password@ip_address:port/dir/file_name
2.定時任務,需要寫個腳本,並加入定時任務中.
a.腳本.假設你計劃將遠程的文件備份到/var/www/html/back目錄下,到這個目錄下,新建文件,內容如下
復制代碼代碼如下:
!#/bin/sh
cd
/var/www/html/back/
wget
ftp(上面那條語句)
保存為bak.sh
b.加入定時任務.直接vi
/etc/crontab
在最後一行加入如下語句
復制代碼代碼如下:
30
18
*
*
*
root
/var/www/html/back/bak.sh(腳本保存的位置)
這樣每天下午6:30本地的centos機器自動會將遠程FTP的文件備份到/var/www/html/back中了.

⑹ shell中ftp -in

-n禁止第一次連接的時候自動登陸,即不使用.netrc文件;
-i 在多個文件傳輸期間關閉交互提示,相當於FTP中prompt命令關閉;

整個FTP過程中所有的命令都從文件$FTPFILE中獲取,並將過程追加記錄到$LOGFILE中

⑺ unix下shell腳中ftp問題

不管是shell命令還是dos命令,在ftp里都是不管用的,在ftp下能執行的命令都是ftp內嵌的,如ls,在shell里你的ls可以列出目錄下的文件列表,這個ls是一個可執行文件,一般是在/usr/bin下(也可能是其他目錄)

ftp里也可以ls,但是ftp里的ls不是調用的shell里的那個ls,這是ftp里內嵌的,其實只是ftp中的一個函數


不同的ftp內置的命令可能有所差別,比如有的ftp有的支持dir命令,有的就不支持

具體支持哪些內命令一般通過help命令就能查到,如我的電腦上的:


至於你想通過ftp來實現刪除文件的話可以通過telnet或者ssh等來實現,

在腳本里通過telnet或者ssh或得要刪除的文件的列表,然後在ftp命令下刪除

⑻ 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秒對吧?,對的。

⑼ shell腳本中取ftp遠程伺服器文件的問題

ftp使用mget下載多個文件默認有提示,可以增加-i參數,表示不提示:

ftp-i-n<<!
...

一般如果在Windows下編輯的文件,傳到linux環境下,文件內容里會因為回車換行表示方式不一樣,會出現^M符號,可以在傳到linux環境後,可以使用dos2unix等工具轉換(該工具因linux版本不同可能並未默認安裝)。另外,要注意所傳文件是否是二進制還是一般文本文件,如果是二進制文件,最好在get前執行bin命令表示傳輸二進制文件。