1

У меня есть сервер Ubuntu, размещенный на Amazon EC2. Мне нужно создать схему автоматического резервного копирования, чтобы я создал еще один экземпляр Ubuntu в своей локальной сети, который размещен в виртуальной среде.

Мне удалось передать необходимые файлы между двумя компьютерами в одной сети с помощью команды rsync:

rsync -azvv -e ssh /home/path/folder1/ remoteuser@remotehost.remotedomain:/home/path/folder2

Как я могу сделать то же самое, но перенести файлы с моего сервера Amazon на мой локальный сервер? Есть ли способ, которым я могу добиться этого с переадресацией портов, или VPN, или что-нибудь еще?

Это не должно быть rsync. Если вы знаете о лучшем методе, пожалуйста, дайте мне знать.

2 ответа2

1

Просто поменяйте местами:

rsync PARAMETER REMOTE LOCAL

так что в вашем случае следующее должно сделать работу:

rsync -azvv -e ssh remoteuser@remotehost.remotedomain:/home/path/folder2 /home/path/folder1/
0

Итак, вы хотите настроить автоматическое резервное копирование между вашим локальным сервером и сервером Amazon?

  1. Настройте ключи SSH между вашим локальным сервером и сервером Amazon.

    foo@local-server $ ssh-keygen
    foo@local-server $ scp ~/.ssh/id_rsa.pub amazon-server:~/id_rsa.pub
    foo@amazon-server $ cat ~/id_rsa.pub >> .ssh/authorized_keys
    

    Вы должны иметь возможность ssh с локального сервера на удаленный сервер без пароля. Убедитесь, что разрешения для каталога .ssh и файла author_keys равны 700 и 600 соответственно.

  2. Запустите команду rsync с локального сервера.

    foo@local-server $ rsync -azvv amazon-server:folder2 ~/folder1/
    
  3. Возможно, вы захотите установить это как cronjob, работающий с вашего локального сервера

    foo@local-server $ crontab -e
    

    Добавьте что-то вроде следующего в ваш crontab. Это будет запускать резервное копирование в полночь каждую ночь.

    * 0 * * *  rsync -azvv amazon-server:folder2 ~/folder1/
    

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