У меня есть 2 или 3 FTP-сервера, где наш хостер ежедневно создает резервные копии базы данных. Так как он хранит только одну, мне было приказано писать bash-скрипт для ежедневной загрузки всех резервных копий базы данных, поэтому у нас есть резервная копия, которой больше одного дня.

Я пытался заставить его работать с помощью команды ftp, но так как кажется, что я не могу загрузить полный каталог, я подумал, что смогу сделать это с помощью цикла for, но это не сработает с командой ftp, и я всегда получаю неожиданный конец ошибка файла.

Надо сказать, подключаться можно только через ftp на сервере. Нет доступа по SSH или что-то еще!

На данный момент у меня есть это:

echo "Download all the database backups from honds ftp-servers"

SERVERS="ftp.srv1.de ftp.srv2.de"

#for SERVER in $SERVERS; do
    ftp -in ftp://user:pw@ftp.srv1.de << EOF
    binary
    get Datenbankbackup
EOF

1 ответ1

1

Вы можете перейти в каталог, а затем использовать команду mget чтобы получить все файлы в этом каталоге:

ftp -in ftp://user:pw@ftp.srv1.de << EOF
    binary
    cd Datenbankbackup
    mget *
EOF

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .