SHELL脚本使ftp连接并获取xml文件

时间:2011-08-18 11:31:19

标签: shell ftp connection

我需要一个shell脚本,它将登录到远程FTP服务器,获取仅存在于根文件夹中的文件列表,并仅识别xml文件并将这些文件提供给本地系统。 登录凭据可以在它自己的脚本中提到。此脚本必须每天运行一次。

请帮我使用UNIX BASH SHELL脚本。

由于

2 个答案:

答案 0 :(得分: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

这意味着每天午夜都会运行脚本。

答案 1 :(得分:0)

如果您可以安装ncftpget,这是一个单行操作:

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