2011-08-18 66 views
0

我需要一個shell腳本,將登錄到遠程FTP服務器,讓目前只有根文件夾中的文件列表,並確定只有XML文件並獲得這些文件到本地系統。 登錄憑證可以在腳本中自行提及。該腳本只能每天運行一次。SHELL腳本進行FTP連接,獲取XML文件

請幫我一個UNIX的Bash shell腳本。

感謝

回答

2

腳本:

#!/bin/bash 
SERVER=ftp://myserver 
USER=user 
PASS=password 
EXT=xml 
DESTDIR=/destinationdir 

listOfFiles=$(curl $SERVER --user $USER:$PASS 2> /dev/null | awk '{ print $9 }' | grep -E "*.$EXT$") 
for file in $listOfFiles 
do 
    curl $SERVER/$file --user $USER:$PASS -o $DESTDIR/$file 
done 

爲計劃運行,每天檢查的crontab:

crontab -e 

爲編輯當前的就業機會和增加例如:

0 0 * * * bash /path/to/script 

這意味着每天午夜都要運行腳本。

0

如果你可以安裝ncftpget,這是一個一行的動作:

ncftpget -u user -p password ftp.remote-host.com /my/local/dir '/*.xml'