Скрипт SHELL для установки FTP-соединения и получения XML-файлов. - PullRequest
0 голосов
/ 18 августа 2011

Мне нужен сценарий оболочки, который будет входить на удаленный FTP-сервер, получать список файлов, присутствующих только в корневой папке, идентифицировать только файлы XML и передавать эти файлы в локальную систему.Учетные данные для входа можно указать в самом скрипте.Этот скрипт должен запускаться только один раз в день.

Пожалуйста, помогите мне со скриптом UNIX BASH SHELL.

Спасибо

Ответы [ 2 ]

2 голосов
/ 18 августа 2011

скрипт:

#!/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 голосов
/ 18 августа 2011

Если вы можете установить ncftpget, это однострочная операция:

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