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

ftp調用shell

發布時間: 2022-09-01 16:43:01

① 如何在ftp命令中使用shell變數

就是感嘆號! 進入ftp後ftp> help !! Escape to the shell 實際上,感嘆號!會新建一個shell,要再回到ftp,敲exit命令退出這個新建的shell即可。

② shell連接ftp的腳本

區別在於排版不同
你使用<< FTPINI時, 下面的行都要在定格寫,即行開頭不能有空格,直至結束,如
ftp -i -n $ip << FTPINI
cd /pub
ls
FTPINI

而加了-後,下面的行可以加入tab排版,如
ftp -i -n $ip <<-FTPINI
cd /pub
ls
FTPINI

③ ftp命令放入shell不識別lcd命令

ftp在shell中必須使用這種格式,用重定向把ftp命令傳給ftp:
#!/bin/bash
LANG=en_US
export LANG
cd /tmp/b
ftp -nv 192.168.0.104 << EOF
user senlin senlin
cd /senlin/upload
type binary
put a.txt
quit
EOF

另外一種辦法就是使用 expect腳本 ,你到網上搜搜expect命令

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

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

ftp-i-n<<!
...

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

⑤ 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中了.

⑥ aix機器把ftp命令放到shell 里執行,lcd的時候提示文件夾不存在

ftp shell lcd不起作用解決方案

⑦ shell腳本中ftp問題

ftp 登錄後,我感覺是不支持shell語法的(目前還不確定),建議使用mget 下載多個文件!

⑧ 求助:使用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命令,mget怎麼取得動態文件

#!/usr/bin/sh

TZ=TZ+96
day1=`date+%Y%m%d`
TZ=TZ+72
day2=`date+%Y%m%d`
TZ=TZ+48
day3=`date+%Y%m%d`
TZ=TZ+24
day4=`date+%Y%m%d`
TZ=TZ
day5=`date+%Y%m%d`

SERVER=server
USERNAME=username
PASSWORD=password
ftp-n$SERVER<<EOF
user$USERNAME$PASSWORD
cdremote_path
lcdlocal_path
binary
verbose
get$day1.mat
get$day2.mat
get$day3.mat
get$day4.mat
get$day5.mat
close
quit
EOF