Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Compute Cloud
  • Yandex Container Solution
    • Все руководства
    • Настройка синхронизации часов с помощью NTP
    • Автомасштабирование группы ВМ для обработки сообщений из очереди
    • Обновление группы ВМ под нагрузкой
    • Развертывание Remote Desktop Gateway
    • Начало работы с Packer
    • Передача логов с ВМ в Yandex Cloud Logging
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Миграция в Yandex Cloud с помощью Хайстекс Акура
    • Защита от сбоев с помощью Хайстекс Акура
    • Резервное копирование ВМ с помощью Хайстекс Акура
    • Развертывание отказоустойчивой архитектуры с прерываемыми ВМ
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
    • Создание триггеров, которые вызывают функции для остановки ВМ и отправки уведомлений в Telegram
    • Создание веб-приложения на Python с использованием фреймворка Flask
    • Создание SAP-программы в Yandex Cloud
    • Развертывание сервера Minecraft в Yandex Cloud
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Создание тестовых виртуальных машин через GitLab CI
    • Высокопроизводительные вычисления (HPC) на прерываемых ВМ
    • Настройка SFTP-сервера на Centos 7
    • Развертывание параллельной файловой системы GlusterFS в высокодоступном режиме
    • Развертывание параллельной файловой системы GlusterFS в высокопроизводительном режиме
    • Резервное копирование в Object Storage с помощью Bacula
    • Построение пайплайна CI/CD в GitLab с использованием serverless-продуктов
    • Реализация защищенной высокодоступной сетевой инфраструктуры с выделением DMZ на основе Check Point NGFW
    • Сегментация облачной инфраструктуры с помощью решения Check Point Next-Generation Firewall
    • Настройка защищенного туннеля GRE поверх IPsec
    • Создание бастионного хоста
    • Реализация отказоустойчивых сценариев для сетевых виртуальных машин
    • Создание туннеля между двумя подсетями при помощи OpenVPN Access Server
    • Создание внешней таблицы на базе таблицы из бакета Object Storage с помощью конфигурационного файла
    • Настройка сетевой связности между подсетями BareMetal и Virtual Private Cloud
    • Работа со снапшотами в Managed Service for Kubernetes
    • Запуск языковой модели DeepSeek-R1 в кластере GPU
    • Запуск библиотеки vLLM с языковой моделью Gemma 3 на ВМ с GPU
    • Доставка USB-устройств на виртуальную машину или сервер BareMetal
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте виртуальную машину для SFTP-сервера
  • Настройте SFTP-сервер
  • Создайте SFTP-пользователя
  • Создайте и настройте виртуальную машину для SFTP-клиента
  • Создайте резервную копию конфигурационных файлов на SFTP-сервере
  • Проверьте работоспособность резервного копирования
  • Настройте расписание для резервного копирования
  • Восстановите настройки из резервной копии
  • Проверьте корректность восстановления
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Настройка SFTP-сервера на Centos 7

Настройка SFTP-сервера на Centos 7

Статья создана
Yandex Cloud
Обновлена 6 марта 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте виртуальную машину для SFTP-сервера
  • Настройте SFTP-сервер
  • Создайте SFTP-пользователя
  • Создайте и настройте виртуальную машину для SFTP-клиента
  • Создайте резервную копию конфигурационных файлов на SFTP-сервере
  • Проверьте работоспособность резервного копирования
  • Настройте расписание для резервного копирования
  • Восстановите настройки из резервной копии
  • Проверьте корректность восстановления
  • Как удалить созданные ресурсы

В этом руководстве вы создадите виртуальные машины для SFTP-сервера и клиента с помощью сервиса Compute Cloud, подключитесь к ним по SSH, создадите SFTP-пользователя и настроите резервное копирование данных.

Чтобы развернуть инфраструктуру:

  1. Подготовьте облако к работе.
  2. Создайте виртуальную машину для SFTP-сервера.
  3. Настройте SFTP-сервер.
  4. Создайте SFTP-пользователя.
  5. Создайте и настройте виртуальную машину для SFTP-клиента.
  6. Сделайте бэкап конфигурационных файлов на SFTP-сервер.
  7. Проверьте работоспособность бэкапа.
  8. Настройте расписание для бэкапа.
  9. Восстановите настройки из бэкапа.
  10. Проверьте корректность восстановления.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки инфраструктуры входят:

  • плата за две постоянно запущенные ВМ (см. тарифы Yandex Compute Cloud):
    • виртуальная машина для SFTP-клиента;
    • виртуальная машина для SFTP-сервера.
  • плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).

Создайте виртуальную машину для SFTP-сервераСоздайте виртуальную машину для SFTP-сервера

Чтобы создать виртуальную машину:

Консоль управления
  1. В консоли управления выберите каталог, в котором будет создана ВМ.

  2. В списке сервисов выберите Compute Cloud.

  3. На панели слева выберите Виртуальные машины.

  4. Нажмите кнопку Создать виртуальную машину.

  5. В блоке Образ загрузочного диска выберите публичный образ CentOS 7.

  6. В блоке Расположение выберите зону доступности, в которой будет находиться ВМ.

  7. В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация и укажите параметры:

    • Платформа — Intel Ice Lake.
    • vCPU — 2.
    • Гарантированная доля vCPU — 20%.
    • RAM — 2 ГБ.
  8. В блоке Сетевые настройки:

    • В поле Подсеть укажите идентификатор подсети в зоне доступности создаваемой ВМ или выберите облачную сеть из списка.

      • У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Создать подсеть.

      • Если сети нет, нажмите Создать сеть и создайте ее:

        • В открывшемся окне укажите имя сети и выберите каталог, в котором она будет создана.
        • (Опционально) Выберите опцию Создать подсети, чтобы автоматически создать подсети во всех зонах доступности.
        • Нажмите Создать сеть.
    • В поле Публичный IP-адрес выберите Автоматически, чтобы назначить виртуальной машине случайный внешний IP-адрес из пула Yandex Cloud. Чтобы внешний IP-адрес не изменялся после остановки виртуальной машины, сделайте его статическим.

  9. В блоке Доступ выберите SSH-ключ и укажите данные для доступа к ВМ:

    • В поле Логин введите имя пользователя, который будет создан на виртуальной машине, например yc-user.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

      • Нажмите кнопку Добавить ключ.
      • Задайте имя SSH-ключа.
      • Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
      • Нажмите кнопку Добавить.

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

      Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.

    Внимание

    IP-адрес и имя хоста (FQDN) для подключения к машине будут назначены ей при создании. Если вы выбрали вариант Без адреса в поле Публичный IP-адрес, вы не сможете обращаться к виртуальной машине из интернета.

  10. В блоке Общая информация задайте имя ВМ: sftp-server.

  11. Нажмите Создать ВМ.

Создание виртуальной машины может занять несколько минут.

Настройте SFTP-серверНастройте SFTP-сервер

Функционал SFTP-сервера включен в стандартную программу SSH, которая поставляется с дистрибутивом Centos 7. Для настройки SFTP-сервера отредактируйте конфигурационный файл /etc/ssh/sshd_config:

  1. Зайдите по SSH на виртуальную машину SFTP-сервера.

  2. Откройте конфигурационный файл в редакторе vi. Этот редактор поставляется с дистрибутивом и не требует установки. Если вы не знакомы с этим редактором, то подробности можете узнать в официальной документации.

    sudo vi /etc/ssh/sshd_config
    
  3. Добавьте следующие строчки в конец файла:

    Match User fuser
    ForceCommand internal-sftp
    PasswordAuthentication no
    ChrootDirectory /var/sftp
    PermitTunnel no
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no
    

    Где:

    • Match User fuser — указывает на то, что все последующие строчки будут применены только при подключении пользователя fuser.
    • ForceCommand internal-sftp — подключает пользователя только в режиме SFTP и не разрешает доступ в shell.
    • PasswordAuthentication no — отключает доступ по логину и паролю.
    • ChrootDirectory /var/sftp — ограничивает доступ пользователя только папкой /var/sftp.
    • PermitTunnel no, AllowAgentForwarding no, AllowTcpForwarding no, X11Forwarding no — отключает туннелирование, проброс портов и графических приложений через SSH-сессию.
  4. Сохраните файл.

  5. Выведите конфигурационный файл без закомментированных и пустых строк:

    sudo cat /etc/ssh/sshd_config | grep -v -e '^#' -e '^$'
    
  6. Убедитесь, что вывод предыдущей команды совпадает с данными строками:

    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    HostKey /etc/ssh/ssh_host_ed25519_key
    SyslogFacility AUTHPRIV
    AuthorizedKeysFile .ssh/authorized_keys
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    GSSAPIAuthentication yes
    GSSAPICleanupCredentials no
    UsePAM yes
    X11Forwarding yes
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
    AcceptEnv XMODIFIERS
    Subsystem sftp  /usr/libexec/openssh/sftp-server
    Match User fuser
    ForceCommand internal-sftp
    PasswordAuthentication no
    ChrootDirectory /var/sftp
    PermitTunnel no
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no
    
  7. Перезагрузите SFTP-сервер, чтобы настройки вступили в силу:

    sudo systemctl restart sshd
    

    После перезагрузки заново зайдите по SSH на виртуальную машину SFTP-сервера.

  8. Создайте группу для SFTP-пользователей:

    sudo groupadd ftpusers
    
  9. Создайте папки для сохранения файлов:

    sudo mkdir -p /var/sftp/backups
    
    • sftp — корневая папка SFTP-сервера.
    • backups — папка для хранения резервных копий на SFTP-сервере.
  10. Установите разрешения на папки таким образом, чтобы все пользователи, входящие в состав группы ftpusers, могли записывать и читать файлы на SFTP-сервере:

    sudo chown root:ftpusers /var/sftp/backups
    sudo chmod 770 /var/sftp/backups
    
  11. Проверьте корректность установленных разрешений:

    ls -la /var | grep sftp
    ls -la /var/sftp
    

    Результат:

    drwxr-xr-x.  4 root root   37 Aug  7 11:35 sftp
    drwxrwx---. 2 root ftpusers 80 Aug  7 08:41 backups
    

Создайте SFTP-пользователяСоздайте SFTP-пользователя

На виртуальной машине SFTP-сервера:

  1. Создайте SFTP-пользователя, например fuser:

    sudo useradd fuser
    
  2. Создайте пароль для SFTP-пользователя:

    sudo passwd fuser
    
  3. Создайте SSH-ключи для пользователя fuser. Команда ssh-keygen выполняется от имени пользователя fuser:

    sudo runuser -l  fuser -c 'ssh-keygen'
    

    Процесс генерации ключа приведен ниже. Поле passphrase оставьте пустым.

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/fuser/.ssh/id_rsa): 
    Created directory '/home/fuser/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /home/fuser/.ssh/id_ed25519.
    Your public key has been saved in /home/fuser/.ssh/id_ed25519.pub.
    The key fingerprint is:
    SHA256:sXiE7EfPl8mo9mZCG+ta7fBxwdwdhbjNux63P8EIYNs fuser@ftp-server.ru-central1.internal
    The key's randomart image is:
    +--[ED25519 256]--+
    |             . ..|
    |     . . o  . . .|
    |      o = +  + . |
    |     . + * E.+o..|
    |      o S + X +..|
    |       ooo . o.o |
    |       .=+o . ..o|
    |       o+=oo  .+.|
    |      .o.++  ...+|
    +----[SHA256]-----+
    
  4. Создайте файл для сохранения публичных SSH-ключей SFTP-клиента. Установите нужные разрешения:

    sudo touch /home/fuser/.ssh/authorized_keys
    sudo chmod 600 /home/fuser/.ssh/authorized_keys
    sudo chown fuser:fuser /home/fuser/.ssh/authorized_keys
    
  5. Убедитесь, что разрешения установлены верно:

    ls -la /home/fuser/.ssh/
    

    Результат:

    -rw-------. 1 fuser fuser  421 Aug  7 08:31 authorized_keys
    -rw-------. 1 fuser fuser  419 Aug  7 08:29 id_ed25519
    -rw-r--r--. 1 fuser fuser  107 Aug  7 08:29 id_ed25519.pub
    
  6. Добавьте SFTP-пользователя в SFTP-группу:

    sudo usermod -G ftpusers fuser
    

Создайте и настройте виртуальную машину для SFTP-клиентаСоздайте и настройте виртуальную машину для SFTP-клиента

Процесс создания виртуальной машины для SFTP-клиента полностью совпадает с созданием виртуальной машины для SFTP-сервера.

  1. Выполните пункты 1-11 из раздела о создании виртуальной машины для SFTP-сервера (в качестве имени машины укажите sftp-client).

  2. Зайдите по SSH на виртуальную машину SFTP-клиента.

  3. Создайте пару SSH-ключей на SFTP-клиенте. Процесс аналогичен описанному для пользователя fuser в предыдущем разделе:

    ssh-keygen
    
  4. Выведите публичный ключ на экране SFTP-клиента:

    cat ~/.ssh/id_rsa.pub
    
  5. Зайдите по SSH на виртуальную машину SFTP-сервера.

  6. Откройте файл /home/fuser/.ssh/authorized_keys:

    sudo vi /home/fuser/.ssh/authorized_keys
    
  7. Скопируйте SSH-ключ, полученный на SFTP-клиенте, в конец файла.

  8. Сохраните файл.

  9. Убедитесь, что виртуальная машина SFTP-клиента доступна с SFTP-сервера, и наоборот:

    1. Зайдите по SSH на виртуальную машину SFTP-сервера.

    2. Найдите публичный или внутренний IP-адрес SFTP-клиента в консоли Yandex Cloud в разделе настроек виртуальной машины.

      Важно

      Внутренние адреса SFTP-клиента и SFTP-сервера должны находиться в одной подсети или быть связаны через настройки маршрутизации.

    3. Введите команду в терминале SFTP-сервера, подставив соответствующее значение:

      ping -с 3 <IP_адрес_SFTP_клиента>
      
    4. Убедитесь, что пакеты отправляются и получаются успешно:

      ping -с 3 84.201.170.171
      

      Результат:

      PING 84.201.170.171 (84.201.170.171) 56(84) bytes of data.
      64 bytes from 84.201.170.171: icmp_seq=1 ttl=55 time=8.59 ms
      64 bytes from 84.201.170.171: icmp_seq=2 ttl=55 time=6.32 ms
      64 bytes from 84.201.170.171: icmp_seq=3 ttl=55 time=5.95 ms
      
      --- 84.201.170.171 ping statistics ---
      3 packets transmitted, 3 received, 0% packet loss, time 2003ms
      rtt min/avg/max/mdev = 5.955/6.959/8.595/1.168 ms
      
    5. Повторите проверку на SFTP-клиенте, подставив в команду IP-адрес SFTP-сервера.

Создайте резервную копию конфигурационных файлов на SFTP-сервереСоздайте резервную копию конфигурационных файлов на SFTP-сервере

В инструкции рассмотрено резервное копирование конфигурационных файлов (с расширением .conf) из папки /etc.

Процесс резервного копирования:

  1. Упакуйте все нужные конфигурационные файлы в архив.
  2. Передайте архив на SFTP-сервер.
  3. Удалите архив на SFTP-клиенте.

Чтобы настроить процесс резервного копирования:

  1. Зайдите по SSH на виртуальную машину SFTP-клиента.

  2. Задайте переменные окружения для корректной работы скрипта. Для этого откройте файл ~/.bash_profile:

    vi ~/.bash_profile
    
  3. Добавьте следующие строчки в конец файла, подставив нужные значения:

    export SFTP_SERVER=<IP_адрес_SFTP_сервера>
    export SFTP_USER='fuser'
    
  4. Примените настройки:

    source ~/.bash_profile
    
  5. Убедитесь, что эти переменные появились:

    env | grep SFTP
    

    Результат:

    SFTP_USER=fuser
    SFTP_SERVER=10.128.0.5
    
  6. Запакуйте все конфигурационные файлы в один архив:

    sudo find /etc -type f -name *.conf -print0 | sudo tar -czf backup.tar.gz --null -T -
    

    Где:

    • sudo find /etc -type f -name *.conf -print0 — поиск всех файлов .conf из папки /etc.
    • sudo tar -czf backup.tar.gz --null -T - — перемещение конфигурационных файлов в архив backup.tar.gz.
  7. Перешлите полученный архив на SFTP-сервер:

    curl \
      --upload-file backup.tar.gz sftp://$SFTP_SERVER/backups/backup_$(hostname)_$(date "+%Y%m%d_%H%M%S").tar.gz \
      --insecure \
      --user $SFTP_USER:
    

    Где:

    • -T — загружает файл backup.tar.gz на удаленный сервер.

    • $SFTP_SERVER — переменная, которая автоматически принимает значение IP-адреса SFTP-сервера.

    • backup_$(hostname)_$(date "+%Y%m%d_%H%M%S").tar.gz — добавляет к названию архива название компьютера, а также дату и время, когда был создан архив. Это позволит не потеряться в навигации по списку резервных копий на сервере.

      Например, имя архива на сервере может выглядеть так: backup_ftp-server.ru-central1.internal_20190803_180228.tar.gz.

    • --insecure — отключает проверку SSL сертификатов со стороны SFTP-сервера. При этом трафик в рамках SSH-сессии все равно шифруется.

    • $SFTP_USER — переменная, которая автоматически принимает значение SFTP-пользователя.

    • : — пустой пароль. Пароль не будет запрошен.

  8. Удалите архив на SFTP-клиенте:

    sudo rm -f backup.tar.gz
    

Все действия для создания резервной копии можно выполнить одной командой в терминале SFTP-клиента:

sudo find /etc -type f -name *.conf -print0 | sudo tar -czf backup.tar.gz --null -T -&& curl --upload-file backup.tar.gz sftp://$SFTP_SERVER/backups/backup_$(hostname)_$(date "+%Y%m%d_%H%M%S").tar.gz --insecure --user $SFTP_USER: && sudo rm -f backup.tar.gz

Проверьте работоспособность резервного копированияПроверьте работоспособность резервного копирования

Чтобы убедиться в том, что резервная копия создается нужным образом, запустите копирование и найдите копию на сервере:

  1. Зайдите по SSH на виртуальную машину SFTP-клиента и запустите команду для резервного копирования:

    sudo find /etc -type f -name *.conf -print0 | sudo tar -czf backup.tar.gz --null -T -&& curl --upload-file backup.tar.gz sftp://$SFTP_SERVER/backups/backup_$(hostname)_$(date "+%Y%m%d_%H%M%S").tar.gz --insecure --user $SFTP_USER: && sudo rm -f backup.tar.gz
    
  2. Зайдите по SSH на виртуальную машину SFTP-сервера и убедитесь, что файл вида backup_ftp-server.ru-central1.internal_20190803_180228.tar.gz появился в домашнем каталоге SFTP-пользователя. Для этого на SFTP-сервере запустите команду:

    sudo ls /var/sftp/backups
    

Настройте расписание для резервного копированияНастройте расписание для резервного копирования

Для создания регулярных резервных копий ваших настроек можно использовать встроенную программу crontab.

  1. Зайдите по SSH на виртуальную машину SFTP-клиента и откройте файл crontab для редактирования:

    crontab -e
    
  2. Добавьте следующие строки, чтобы запускать резервное копирование каждый день в 11 часов вечера по UTC:

    SFTP_SERVER=<IP_адрес_SFTP_сервера>
    SFTP_USER='fuser'
    
    0 23 * * * sudo find /etc -type f -name *.conf -print0 | sudo tar -czf backup.tar.gz --null -T -&& curl --upload-file backup.tar.gz sftp://$SFTP_SERVER/backups/backup_$(hostname)_$(date "+\%Y\%m\%d_\%H\%M\%S").tar.gz --insecure --user $SFTP_USER: && sudo rm -f backup.tar.gz
    
    • На виртуальной машине по умолчанию время UTC. Учитывайте разницу с вашим локальным временем при настройке расписания.
    • В команде, вносимой в crontab, необходимо экранировать все % при помощи \.

Восстановите настройки из резервной копииВосстановите настройки из резервной копии

Процесс восстановления настроек:

  1. Скачайте резервную копию с SFTP-сервера на SFTP-клиент.
  2. Распакуйте архив.
  3. Скопируйте конфигурационные файлы из архива в систему.
  4. Удалите архив.

Чтобы восстановить настройки из резервной копии:

  1. На SFTP-сервере в папке /var/sftp/backups выберите резервную копию, из которой следует восстановить конфигурационные файлы. Например, это будет backup_ftp-server.ru-central1.internal_20190803_180228.tar.gz.

  2. Зайдите по SSH на виртуальную машину SFTP-клиента.

  3. Задайте переменную окружения для названия файла резервной копии:

    SFTP_BACKUP='backup_ftp-server.ru-central1.internal_20190803_180228.tar.gz'
    
  4. Скачайте эту резервную копию с SFTP-сервера:

    sftp $SFTP_USER@$SFTP_SERVER:/backups/$SFTP_BACKUP .
    
  5. Распакуйте архив:

    tar -xzf $SFTP_BACKUP
    
  6. Скопируйте конфигурационные файлы из архива в систему. Используйте yes в команде, чтобы не вводить подтверждение при перезаписи файлов:

    yes | sudo cp -rfp etc / 
    
  7. Удалите архив и распакованное содержимое:

    rm -f $SFTP_BACKUP
    rm -rfd etc
    

Все действия для восстановления из резервной копии можно выполнить одной командой в терминале SFTP-клиента:

sftp $SFTP_USER@$SFTP_SERVER:/backups/$SFTP_BACKUP . && tar -xzf $SFTP_BACKUP && yes | sudo cp -rfp etc / && rm -rfd etc && rm -f $SFTP_BACKUP

Проверьте корректность восстановленияПроверьте корректность восстановления

На виртуальной машине SFTP-клиента:

  1. Чтобы проверить, что конфигурационные файлы из архива успешно попадают в файловую систему, добавьте проверочный блок в команду, полученную выше:

    sftp $SFTP_USER@$SFTP_SERVER:/backups/$SFTP_BACKUP . && tar -xzf $SFTP_BACKUP && echo "## this is from backup" >> etc/yum.conf && yes | sudo cp -rfp etc / && rm -rfd etc && rm -f $SFTP_BACKUP
    

    Команда echo "## this is from backup" >> etc/yum.conf записывает тестовую фразу "## this is from backup" в конец файла etc/yum.conf, распакованного из архива.

  2. После восстановления из резервной копии выполните следующую команду:

    cat /etc/yum.conf | grep backup
    
  3. Убедитесь, что на экране отображается тестовая фраза:

    ## this is from backup
    

Как удалить созданные ресурсыКак удалить созданные ресурсы

Если вам больше не нужны SFTP-сервер и SFTP-клиент:

  • Удалите виртуальные машины для SFTP-клиента и SFTP-сервера (в примере они названы sftp-server и sftp-client).
  • Удалите статический IP-адрес, если он был вами зарезервирован.

Была ли статья полезна?

Предыдущая
Terraform
Следующая
Развертывание параллельной файловой системы GlusterFS в высокодоступном режиме
Проект Яндекса
© 2025 ООО «Яндекс.Облако»