Загрузка...
 
Страница 1
Автор
Сообщение
Alex 
Admin ]Alex

Регистрация: 08.08.2005
Сообщений: 1689
Откуда: Moscow, Tver - Ru, Cz


Использование rsync и SSH

 
создано 08.02.2013 00:25:46

Если Вам необходимо периодически переносить данные с сервера источника (Server1) на сервер приемник (Server2) для синхронизации каких-то данных. Неплохой вариант для этой цели использовать команду rsync и соединяться с удаленным сервером через SSH. В обычном режиме при соединении через SSH второй сервер будет запрашивать пароль, то есть требовать дополнительные действия от пользователя. Это не подходит для автоматизированного переноса данных. Поэтому процедура слегка усложняется.

Итак:

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


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


1) Логинимся через SSH на Server1.
2) Server1: cd ~/
3) Server1: mkdir .ssh
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 с первого сервера.
Для начала рекомендуется проделать это один раз вручную, во-первых,
чтобы проверить, как все работает, во-вторых, иногда требуется создать
автоматический sshkey-файл, который для своего создания в первый раз
требует выбрать yes или no вручную.
Server1: nice -n +17 rsync -avz /backup/arch/ user@Server2IP:/hdd2/get/
Замечание: рекомендуется использовать nice что бы процесс копирования
шел в фоновом режиме.


11) Теперь можно приступить к автоматизации через cron.
Запишите эту команду в файл “rsync.sh”. Внимание зачастую для корректной
работы требуется прописать полные пути до nice и rsync.
В нашем случае пути такие:
/bin/nice -n +17 /usr/bin/rsync -a /backup/arch/ user@Server2IP:/hdd2/get/


12) Далее создаем /backup/cron.txt и прописываем в нём старт:
30 5 * * * /bin/sh /backup/rsync.sh
Эта команда означает, что бэкап будет выполняться каждый день в 5-30 утра


Далее записываем cron для текущего юзера:
Server1: crontab /backup/cron.txt








«Важнейшей задачей для нас является сейчас: учиться и учиться» В.И. Ленин



Reply 
Регистрация
 Зарегистрироваться
Комментарии

Рейтинг@Mail.ru