Синхронизация через rsync

Задача: Синхронизировать по крону 2 директории на двух разных серверах с авторизацией по ключам.

Server1 (источник)
User: user1
Password: pass1
Папка для переноса: /backup/arch/

Server2 (приемник)
User: user2
Password: pass2
Папка для приема информации: /hdd2/get/

1) Логинимся через SSH на Server1.
2) Server1: cd ~/
3) Server1: mkdir .ssh
Замечение: иногда из под текущего юзера это сделать невозможно (например при работе из под Plesk), в этом случае папку необходимо создавать из под root.
4) Server1: ssh-keygen -t rsa
Наберите в качестве пути ./.ssh/id_rsa
Затем два раза Enter
5) Переносим любым способом ~/.ssh/id_rsa.pub на Server2. Предположим, что мы положили его в папку /hdd2/
6) Server2: cd ~/
7) Server2: mkdir .ssh
8) Server2: cat /hdd2/id_rsa.pub >> ./.ssh/authorized_keys
Если файл не существует, то он автоматически будет создан
9) Server2: chmod 700 ./.ssh/authorized_keys
Необходимо в целях безопасности
10) Далее используем команду rsync с первого сервера. Для начала рекомендуется проделать это один раз вручную, во-первых, что бы проверить, как все работает, во-вторых, иногда требуется создать автоматический batch-файл, который для своего создания в первый раз требует выбрать yes или no вручную:
Server1: nice -n +17 rsync -avz /backup/arch/ user2@Server2_IP:/hdd2/get/
Замечание: рекомендуется использовать nice что бы процесс копирования шел в фоновом режиме.

Leave a Reply