SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Список вопросов Печать

Перенос данных между серверами DirectAdmin с помощью rsync


Метки: rsync directadmin 

Ответы

RemiZOffAlex  Создано: 2018-04-23 15:19:41.127327  Обновлено: 2018-04-23 15:19:41.127327
  1. Создать резервную копию без домашней директории доменов:
    Admin Level -> Admin Backup/Transfer -> Create Backup
    В разделе What исключить Domains Directory и создать резервную копию.
    Таким образом будет создан файл tar.gz без каталога /home/username/domains.
  2. Переместить и развернуть созданный архив tar.gz.
  3. Вручную переместить каталог domains. Лучшим инструментом для этого является утилита rsync.
    • Войти в новый сервер-получатель (B).
    • Получить права root (или пользователя-получателя, если того требует безопасность) и ввести:
root # rsync --progress -ave 'ssh -p 22' 1.2.3.4:/home/username/domains/ /home/username/domains/

где 22 - порт подключения, 1.2.3.4 - IP старого сервере (A).

Скрипт для переноса данных fullmove.sh

#!/bin/bash

server='IP or ServerName'
users=`ls -1 /usr/local/directadmin/data/users`

for user in ${users}
do

echo 'Begin sync '${user}
rsync --progress -ave 'ssh -p 22' ${server}:/home/${user}/domains/ /home/${user}/domains/
rsync --progress -ave 'ssh -p 22' ${server}:/home/${user}/backups/ /home/${user}/backups/
echo 'End sync '${user}

done

echo 'action=tally&value=all' >> /usr/local/directadmin/data/task.queue

Скрипт для переноса отдельного списка пользователей

#!/bin/bash

server='IP or ServerName'

users=(
 user1 user2 user3
)

for user in ${users[@]}
do

echo 'Begin sync '${user}
rsync --progress -av --progress -e 'ssh -p 22' ${server}:/home/${user}/domains/ /home/${user}/domains/
rsync --progress -av --progress -e 'ssh -p 22' ${server}:/home/${user}/backups/ /home/${user}/backups/
echo 'End sync '${user}

done

echo 'action=tally&value=all' >> /usr/local/directadmin/data/task.queue

Ссылки

Возможно будут интересны и другие вопросы