Возможный дубликат:
Нужна помощь с rsync
У меня есть два компьютера, подключенных к одной сети, скажем, компьютер A и компьютер B. На компьютере A есть несколько файлов резервных копий в каталоге, который необходимо синхронизировать с компьютером B (необходимо создать точное зеркало). Здесь условие: я должен сделать это, используя rsync команда.
Как я могу это сделать? Должен ли я делать это, используя имя хоста компьютеров.
Пожалуйста, помогите мне как можно скорее. заранее спасибо
Если вы хотите сделать это автоматическим, вы должны охватить некоторые основы.
1-й rsync подключается через ssh. Вы должны убедиться, что у пользователя, которого вы будете использовать для rsyncing, установлен ключ ssh на удаленном компьютере (в качестве примера я буду использовать пользователя root).
2. Примите решение, как именно вы будете выполнять синхронизацию (с сервера на резервный сервер или с резервного сервера на сервер)
Я сделаю это, пока скрипт запущен на резервном сервере.
Сгенерировать ключ на резервном сервере (выполнить команду)
$ ssh-keygen
Скопируйте сгенерированный ключ на удаленный (сервер, файлы которого нужно скопировать) компьютер:
$ ssh-copy-id -i /root/.ssh/id_rsa.pub root@server-ip:
теперь ваш сервер будет подключаться к удаленному серверу без запроса пароля.
отсюда вы можете сделать что-то вроде этого:
#!/bin/bash
## Rsync script
###
PATH=/usr/bin:
rsync -auvz root@server-ip:/path/to/directory/ /backup-server/path/to/backup/
помните о том, что:
( /path/to/dir/ )
( /path/to/dir )
rsync src_user@src_hostname:src_dir/ trg_user@target_hostname:target_dir/
для проверки вариантов
rsync --help
или
man rsync