---
title: "Простое резервное копирование папок и файлов на ftp сервер."
description: "Настроен rSyslog сервер на Ubuntu, и требуется резервировать логи на другое хранилище. Консольный клиент lftp может работать по протоколам FTP и SFTP..."
author: "DaRoni"
published: "2024-08-08T10:37:45+00:00"
modified: "2024-08-08T10:37:45+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/prostoe-rezervnoe-kopirovanie-papok-i-faylov-na-ftp-server-1006805"
markdown_url: "https://yvision.kz/post/prostoe-rezervnoe-kopirovanie-papok-i-faylov-na-ftp-server-1006805/markdown"
site_name: "Yvision.kz"
---

# Простое резервное копирование папок и файлов на ftp сервер.

> Настроен rSyslog сервер на Ubuntu, и требуется резервировать логи на другое хранилище. Консольный клиент lftp может работать по протоколам FTP и SFTP...

Настроен rSyslog сервер на Ubuntu, и требуется резервировать логи на другое хранилище.

Консольный клиент lftp может работать по протоколам FTP и SFTP + поддерживает расширенный набор команд по сравнению с утилитами ftp и sftp. Самое важное отличие — умеет удалять, скачивать и выгружать директории целиком. Мне в этой утилите нужна команда mirror.

```
$ lftp --helpИспользование: lftp [опции]-f  выполнить команды из указанного файла и выйти-c  выполнить команду и выйти--norc не выполнять rc-файлы из домашнего каталога--help вывести данную подсказку и выйти--version вывести информацию о версии и выйтиОстальные ключи аналогичны ключам команды open-e  выполнить команду после выбора сервера-u [,] использовать для аутентификации имя/пароль-p  использовать для соединения указанный порт-s  перейти в указанный слот-d включить отладочный режим имя сервера,URL или имя закладкиКопироватьСеанс работы$ lftp> open ftp://username:password@server.com

# установить соединение> ls

# список файлов в текущей директорииdrwxrwxr-x 4100110024096 Mar 1511:26.drwxr-xr-x 3 root root 4096 Mar 1108:53..drwxr-xr-x 3100110024096 Mar 1511:26 data> cd data

# перейти в директорию data> ls

# список файлов в текущей директорииdrwxr-xr-x 3100110024096 Mar 1511:26.drwxrwxr-x 4100110024096 Mar 1511:26..drwxr-xr-x 2100110024096 Mar 1511:26 images-rw-r--r--11001100239030 Mar 1511:26import.xml-rw-r--r--11001100210826 Mar 1511:26 offers.xml> mget import.xml offers.xml

# скачать два файла49856 байтов перемещеноВсего перемещено:2 файла> put archive.zip

# выгрузить один файл7620 байтов перемещено> exit

# завершить сеанс работы$ lftp --help Использование: lftp [опции]-f выполнить команды из указанного файла и выйти -c выполнить команду и выйти --norc не выполнять rc-файлы из домашнего каталога --help вывести данную подсказку и выйти --version вывести информацию о версии и выйти Остальные ключи аналогичны ключам команды open -e выполнить команду после выбора сервера -u [,] использовать для аутентификации имя/пароль -p использовать для соединения указанный порт -s перейти в указанный слот -d включить отладочный режим имя сервера,URL или имя закладкиКопироватьСеанс работы $ lftp open ftp://username:password@server.com

# установить соединение ls

# список файлов в текущей директории drwxrwxr-x 4100110024096 Mar 1511:26. drwxr-xr-x 3 root root 4096 Mar 1108:53.. drwxr-xr-x 3100110024096 Mar 1511:26 data cd data

# перейти в директорию data ls

# список файлов в текущей директории drwxr-xr-x 3100110024096 Mar 1511:26. drwxrwxr-x 4100110024096 Mar 1511:26.. drwxr-xr-x 2100110024096 Mar 1511:26 images -rw-r--r--11001100239030 Mar 1511:26import.xml -rw-r--r--11001100210826 Mar 1511:26 offers.xml mget import.xml offers.xml

# скачать два файла 49856 байтов перемещено Всего перемещено:2 файла put archive.zip

# выгрузить один файл 7620 байтов перемещено exit

# завершить сеанс работы
```

Устанавливаем lftp. Из за того что не используются сертификаты и SSL выключаем их.

В /etc/lftp.config

```
setssl:verify-certificate nosetftp:ssl-allow offsetftp:prefer-epsv no
```

Создаём файл скрипта, и даём разрешение на выполнение

```
touch /home/admin/syslog-backup.shsudo chmod ugo+x /home/adminx/syslog-backup.sh
```

Далее сама команда в файле syslog-backup.sh , желательно проверить правильность выполнения

```
lftp -e 'mirror --reverse --delete /var/log/rsyslog /Rsyslog; exit'ftp://user-syslog:passsword-syslogxxxx@ip-xxx.xxx.xxx.xxx
```

Отличие между ними в том, что -c — опция утилиты lftp, а -e — опция команды open (при этом допускается ее использование с lftp). Это значит, что при использовании -c нужно сперва установить соединение с помощью open, а при использовании -e — соединение уже должно быть установлено.

Q: lftp hangs in "Making data connection" state.

A: Try "set ftp:prefer-epsv no". Probably a router on the path to the server does not recognize the EPSV command.

---

Source: [https://yvision.kz/post/prostoe-rezervnoe-kopirovanie-papok-i-faylov-na-ftp-server-1006805](https://yvision.kz/post/prostoe-rezervnoe-kopirovanie-papok-i-faylov-na-ftp-server-1006805)