簡體   English   中英

將文件從FTP服務器傳輸到本地UNIX服務器

[英]Transfer files from FTP server to local unix server

我必須將名稱由兩個變量X,Y組成的文件傳輸到我的本地unix目錄XYZ,它們位於ftp服務器的ABC目錄中。 傳輸文件后,我必須轉到本地目錄路徑,我應該解壓縮(輸入文件為壓縮文件)它們。 我必須使用用戶名和密碼才能連接到FTP。 將文件復制到本地服務器時,我也必須使用用戶名和密碼。

這是我目前的嘗試。 能行嗎 我該如何改善?

ftp -n hostname <<EOF
user username pwd
cd ABC
get ls *X*.tar | ls *Y*.tar username1@pwd1 : XYZ
EOF
bye
for next in `ls *.tar`
do
tar -zvxf $next
done

我建議您只看一下ftp命令行ftp-tool和腳本的手冊。

替代方法:使用wget將ftp文件下載到本地計算機,然后將scp下載到目標計算機,我想對ssh使用public-key-authentication,scp不需要密碼,那么最終應該像這樣簡單。

wget --ftp-user=$USERNAME --ftp-password=$PASSWORD ftp://$HOSTNAME/ABC/$Y.tar
scp $Y.tar $SCPUSER@$SCPHOST/targetpath/$X.tar

請嘗試以下代碼。 希望這對您有所幫助。

#! /bin/bash

cd local_path
USER='username'
PASSWD='password'
file_name='files'

for HOST in ftpserver
do
echo $HOST
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
bin
prompt

cd "remote_path"
lcd "local_path"

mget $file_name.gz*

quit
END_SCRIPT
done

#extract file
mkdir -p ../archive/$DATE
for HOST in ftpserver
do
        gunzip $file_name.gz
done

您可以使用wget將文件從FTP服務器下載到unix系統

cd YOUR_DIRECTORY

wget --user=USERNAME --password='PASSWORD' HOST_NAME/REMOTE_PATH/FILE_NAME.EXTENSION

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM