скрипт:
#!/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
это будет означать запускать скрипт каждый день в полночь.