我需要一个shell脚本,它将登录到远程FTP服务器,获取仅存在于根文件夹中的文件列表,并仅识别xml文件并将这些文件提供给本地系统。 登录凭据可以在它自己的脚本中提到。此脚本必须每天运行一次。
请帮我使用UNIX BASH SHELL脚本。
由于
答案 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'