shellftp下載文件
『壹』 AIX中shell文件中,如何判斷登錄到的ftp上的某個路徑或文件是否存在 如果存在下載…不存在則
下載後再判斷文件是否存在就好
echo " open ${hostname}
user ${user} ${pwd}
binary
cd ${path}
get ${name}
by
" | ftp -ivn
[ -f $name ]&&echo "exist"
『貳』 linux系統用shell寫個腳本ftp上傳下載文件,文件名帶日期。
這個不是一句話搞定的
vi xxxx.sh 寫一個腳本
#/bin/bash
DATE=`date "%Y%M%D"`
DIR=/xxxxx/xxx
cd $DIR
lftp -pxxx [email protected]
cd xxxxx
get $DATE.txt
exit
chmod +x xxxx.sh
然後 sh xxxx.sh
大致的結構這樣,具體的你要好好研究一下shell才可以。
『叄』 shell腳本限時,用腳本實現ftp下載很多文件,每個文件最長5分鍾,超過則停止下載該文件,繼續下載另一個
我一般是用wget --timeout=seconds來做,腳本一行一個就行了。如果你電腦上有ncftpget,也可以用ncftpget -t seconds來做。
『肆』 shell腳本實現的ftp中連續put文件,怎樣在多句put命令間加入休眠sleep
不太明白為什麼要在ftp文件時加sleep,而且裡面還加exit?
要執行sleep和exit必須在<< END-END外,笨點的辦法寫一個函數就可以了。
#!/bin/sh
ftp2put()
{
ftp -i -n <<END
open 10.1.128.112 3839
user admin0012 admin
binary
prompt off
put FTPPerformanceTest/$1 $2
bye
END
}
ftp2put 10Apt.txt 10
sleep 1
ftp2put 20Apt.txt 20
sleep 1
ftp2put 30Apt.txt 30
sleep 1
exit
『伍』 shell中ftp -in
-n禁止第一次連接的時候自動登陸,即不使用.netrc文件;
-i 在多個文件傳輸期間關閉交互提示,相當於FTP中prompt命令關閉;
整個FTP過程中所有的命令都從文件$FTPFILE中獲取,並將過程追加記錄到$LOGFILE中
『陸』 Shell 判斷FTP上某個路徑、文件是否存在
如果FTP上的文件很大,獲取文件會很費時。應該可以不用獲取直接判斷的,下面供借鑒:
#!/bin/bash
server=127.0.0.1#改為你自己的FTP伺服器IP
user=root#修改為你自己的FTP登錄用戶名
password=root#修改為你自己的FTP用戶密碼
errlog=./err.log#用於記錄FTP錯誤
ftpCheckFile()
{
ftp-n-i$server<<EOF
USER$user
PASS$password
ls$1
bye
EOF
}
rm-f$errlog
ftpCheckFile$1>/dev/null2>$errlog
bytes=`wc-c$errlog|awk'{print$1}'`
if[$bytes-eq0];then
echo"$1-Exist!"
else
echo"$1-Notexist!"
fi
用的時候在腳本名後跟一個參數,就是你要判斷的文件名或路徑名。
思路:如果文件或路徑不存在,FTP中的ls命令會執行錯誤,從而在錯誤日誌err.log中有記錄。
通過解析該錯誤日誌的內容,可以得知文件或目錄是否存在。
我這里暫時沒有環境試驗,所以沒法得知錯誤日誌的格式,只能暫且通過判斷日誌位元組大小是否為0來看是否發生了錯誤,而無法確定具體錯誤種類。
『柒』 shell腳本中取ftp遠程伺服器文件的問題
ftp使用mget下載多個文件默認有提示,可以增加-i參數,表示不提示:
ftp-i-n<<!
...
一般如果在Windows下編輯的文件,傳到linux環境下,文件內容里會因為回車換行表示方式不一樣,會出現^M符號,可以在傳到linux環境後,可以使用dos2unix等工具轉換(該工具因linux版本不同可能並未默認安裝)。另外,要注意所傳文件是否是二進制還是一般文本文件,如果是二進制文件,最好在get前執行bin命令表示傳輸二進制文件。
『捌』 ssh secure shell 怎麼上傳文件
ssh secure shell 怎麼上傳文件
FTP(File Transfer Protocol)是 Internet 上用來傳送文件的協議(文件傳輸協議)。它是為了我們能夠在 Internet 上互相傳送文件而制定的的文件傳送標准,規定了 Internet 上文件如何傳送。也就是說,通過 FTP 協議,我們就可以跟 Internet 上的 FTP 伺服器進行文件的上傳(Upload)或下載(Download)等動作。
和其他 Internet 應用一樣,FTP 也是依賴於客戶程序/伺服器關系的概念。在 Internet 上有一些網站,它們依照 FTP 協議提供服務,讓網友們進行文件的存取,這些網站就是 FTP 伺服器。網上的用戶要連上 FTP 伺服器,就要用到 FPT 的客戶端軟體,通常 Windows 都有「ftp」命令,這實際就是一個命令行的 FTP 客戶程序,另外常用的 FTP 客戶程序還有 CuteFTP、Ws_FTP、FTP Explorer等。
要連上 FTP 伺服器(即「登陸」),必須要有該 FTP 伺服器的帳號。如果是該伺服器主機的注冊客戶,你將會有一個 FTP 登陸帳號和密碼,就憑這個帳號密碼連上該伺服器。但 Internet 上有很大一部分 FTP 伺服器被稱為「匿名」(Anonymous)FTP 伺服器。這類伺服器的目的是向公眾提供文件拷貝服務,因此,不要求用戶事先在該伺服器進行登記注冊。