Возможный дубликат:
Нужна помощь с 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