rsync — быстрый перенос файлов с одно сервера на другой


Tagged , , ,

Надо было перенести портал с одного vps на другой, первый vps уже не справлялся с нагрузкой.

Файлы которые мне надо перенести в сумме занимали 11Гб. Их было великое множество, а места на первом сервере уже не хватало. К тому же в силу дешевизны старого vps, там был очень ограниченный набор разрешенных команд. Но мне повезло и из разрешенных оказалась команда rsync.

Именно ее я и решил использовать для переноса.

Мои действия на втором vps (тот на который я буду переносить файлы):

1)  Поставил rsync.

# aptitude install rsync

2) разрешил запуск демона rsync

редактируем файл  /etc/default/rsync, ставим RSYNC_ENABLE=true

3) создаем конфиг файл для rsyncd

# nano /etc/rsyncd.conf

пишем в него:
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[backup]
path = /home/backup

uid = myuser
gid = myuser
read only = no
auth users = backupuser123
secrets file = /etc/rsyncd.secrets
hosts allow = 1.1.1.1

Поясню по порядку. Шара будет доступна под псевдонимом backup, ее путь в /home/backup. myuser — это пользователь и группа пользователя от прав которого будет все это писаться в каталог, можно поставить root, например. backupuser123 — виртуальный пользователь, под которым можно будет залогинится в rsync. /etc/rsyncd.secrets — это файл где хранится пара логин:пароль, для авторизации в rsync. пароль хранится в открытом виде. так как пользователь у меня один — backupuser123, соотсветсвенно туда его и записываем, вместе с паролем. 1.1.1.1 — это ip адрес первого vps, с которого мы и будем осуществлять копирование.

Далее надо обязательно поменять права у файла /etc/rsyncd.secrets на 640.

4) Запускаем rsyncd

# /etc/init.d/rsync start

 

Далее пробуем запустить тестовую синхронизацию с первого vps:

$ rsync -az  /home/user/my_test_folder rsync://backupuser123@22.22.22.22/backup

и вводим пароль от пользователя  backupuser123.

Директория  /home/user/my_test_folder должна скопироваться на второй сервер, если руганолось, смотрим логи на втором серевере:

# more /var/log/rsyncd.log

Там должны быть подробно изложены причины неудачи.

Вот и все. Командуем на первом сервере   rsync -az /home rsync://backupuser123@22.22.22.22/backup, вводим пароль и получаем через некоторое время на втором сервере каталог home с польным его содержимым.

Share:

No comments

RSS / trackback

Respond