< meta name="referrer" content="origin">
Home » Linux » CentOS » Rsync настройка бэкапа на CentOS/Debian/Ubuntu

Rsync настройка бэкапа на CentOS/Debian/Ubuntu

Существует много способов организации backup на CentOS/Debian/Ubuntu серверах — бесплатные утилиты, самописные скрипты с использованием tar, система бэкапа bacula и много другое. Все это в той или иной мере я использовал или использую в своей работе. Сегодня я хочу с вами поделиться своим методом организации простого, удобного и быстрого способа настройки инкрементного backup с использованием популярной утилиты rsync на серверах под управлением CentOS/Debian/Ubuntu. Способ одинаково работает на этих истемах, небольшие отличия только в самой установке rsync, о чем я отдельно упомяну для каждой системы.

Установка rsync на CentOS 6

Устанавливаем xinetd для автоматического запуска rsync:

# yum install -y xinetd

Устанавливаем непосредственно rsync:

# yum install -y rsync

Редактируем конфиг rsync для xinetd:

# mcedit /etc/xinetd.d/rsync

В конфиге находим строку disable = yes и меняем на no:

disable = no

Запускаем xinetd:

# /etc/init.d/xinetd start

И добавляем его в автозапуск:

# chkconfig xinetd on

Проверяем, слушает ли xinetd 873 порт rsync:

# netstat -lnpt | grep 873

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1431/xinetd

Все в порядке, можно приступать к настройке rsync.

Установка rsync на CentOS 7

Ставим rsync:

# yum install -y rsync

Добавляем в автозагрузку:

# systemctl enable rsyncd

ln -s '/usr/lib/systemd/system/rsyncd.service' '/etc/systemd/system/multi-user.target.wants/rsyncd.service'

Проверяем автозагрузку:

# systemctl list-unit-files --type service | grep rsyncd

rsyncd.service enabled

Запускаем rsync:

# systemctl start rsyncd

Проверяем, как запустился:

# netstat -tulpn | grep rsync

tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      2782/rsync

Все в порядке, можно приступать к настройке rsync.

Установка rsync на Debian/Ubuntu

Устанавливаем rsync:

# apt-get install -y rsync

Правим конфиг:

# mcedit /etc/default/rsync

Находим строку RSYNC_ENABLE=false и меняем на true:

RSYNC_ENABLE=true

Запускаем rsync:

# /etc/init.d/rsync start

[ ok ] Starting rsync daemon: rsync.

Проверяем, что работает:

# netstat -tulpn | grep rsync

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1767/rsync

Все в порядке, можно приступать к настройке rsync.

Настройка rsync

Теперь приступаем к настройке. Логика наших бэкапов будет следующая. При первом запуске мы делаем полный бэкап интересующей нас информации в папку current. Потом раз в сутки мы сверяем имеющийся архив с источником и делаем его вновь актуальным, перезаписывая все изменившиеся файлы, но при этом не удаляем их, а складываем в папку increment, где каждый день создается папка с именем в виде даты, в которую складываются все измененные файлы за текущий день. Таким образом, у нас всегда будет полный архив, актуальный на момент последней синхронизации, плюс набор папок за каждый день с изменившимися в этот день файлами. Сколько дней хранить можно выбрать по необходимости.

Получается у нас такая картинка:

rsync

Приступаем к реализации. В первую очередь настраиваем rsync на серверах источниках информации, с которых мы будем забирать данные для backup.

Создаем файл конфигурации rsync:

# mcedit /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
transfer logging = true
munge symlinks = yes

# папка источник для бэкапа
[data]
path = /data
uid = root
read only = yes
list = yes
comment = Data backup Dir
auth users = backup
secrets file = /etc/rsyncd.scrt

Создаем файл с учетными данными для подключения:

# mcedit /etc/rsyncd.scrt
backup:12345

где backup — имя пользователя, 12345 — пароль.
Делаем права на чтение только root, иначе rsync не запустится:

# chmod 0600 /etc/rsyncd.scrt

После настройки перезапускаем rsync.
На Centos 6:

# /etc/init.d/xinetd restart

На Centos 7:

systemctl restart rsyncd

На Debian/Ubuntu:

# /etc/init.d/rsync restart

Теперь идем на сервер приемник, в котором будут храниться архивные копии с серверов источников. Там создаем скрипт инкрементного бэкапа c использованием rsync:

# mcedit /root/bin/backup-server1.sh
#!/bin/bash
date
# Папка, куда будем складывать архивы
syst_dir=/backup/
# Имя сервера, который архивируем
srv_name=server1
# Адрес сервера, который архивируем
srv_ip=10.10.1.55
# Пользователь rsync на сервере, который архивируем
srv_user=backup
# Ресурс на сервере для бэкапа
srv_dir=data
echo "Start backup ${srv_name}"
# Создаем папку для инкрементных бэкапов
mkdir -p ${syst_dir}${srv_name}/increment/
# Запускаем непосредственно бэкап с параметрами
/usr/bin/rsync -a --delete --password-file=/etc/rsyncd.scrt ${srv_user}@${srv_ip}::${srv_dir} ${syst_dir}${srv_name}/current/ --backup --backup-dir=${syst_dir}${srv_name}/increment/`date +%Y-%m-%d`/
# Чистим папки с инкрементными архивами старше 30-ти дней
/usr/bin/find ${syst_dir}${srv_name}/increment/ -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
date
echo "Finish backup ${srv_name}"

Делаем скрипт исполняемым:

# chmod 0744 /root/bin/backup-server1.sh

Создаем файл с паролем для авторизации на сервере источнике:

# mcedit /etc/rsyncd.scrt
12345

Делаем права на чтение только root, иначе rsync выдаст ошибку:
ERROR: password file must not be other-accessible
Исправляем это:

# chmod 0600 /etc/rsyncd.scrt

На этом все, теперь можно запускать скрипт и ожидать его выполнения. Осталось добавить его в cron:

# mcedit /etc/crontab
30 23 * * * root /root/bin/backup-server1.sh

Я обычно создаю несколько скриптов для каждого сервера отдельно. Потом объединяю их запуск в одном общем скрипте и уже его добавляю в cron. А потом по мере необходимости редактирую уже его, добавляю или удаляю сервера.

Ротация логов rsync

Мы указали в настройках ведение лога в файл /var/log/rsyncd.log. Необходимо настроить ротацию этого лога, чтобы он не рос до бесконечности. На больших файловых серверах он очень быстро вырастет до сотен мегабайт и более.

Для этого создаем в папке /etc/logrotate.d файл с конфигурацией ротации:

# mcedit /etc/logrotate.d/rsyncd

/var/log/rsyncd.log {
size=500k
compress
rotate 4
missingok
notifempty
}

С такими настройками ротация будет происходить каждый раз, когда файл лога превысит размер в 500 кб. Храниться будут 4 версии лог файла. Эти настройки вы можете сами поменять по своему усмотрению.

Пример бэкапа windows сервера с помощью rsync

Еще один пример из моей практики. Допустим, у нас есть windows сервер с некоторой информацией, которую мы хотим так же бэкапить. Никаких проблем, это делается достаточно просто.

Создаем на windows сервере сетевую шару с информацией. Создаем пользователя и добавляем его в доступ к этой папке. Этого пользователя мы будем использовать для подключения виндовой шары к linux серверу.

Монтируем шару с информацией, которую будем бэкапить:

# mount -t cifs //192.168.0.16/docs /mnt/docs -o user=backup,password=12345,iocharset=utf8,codepage=cp866

192.168.0.16 — адрес виндовой шары
backup и 12345 — пользователь и пароль виндовой машины с доступом к шаре docs.

Все, теперь папку /mnt/docs можно использовать в качестве приемника в нашем скрипте бэкапа с rsync. Если папка примонтирована непосредственно к серверу с бэкапами, то нужно на нем самом настроить конфиг rsyncd на примере серверов источников, запустить на нем rsyncd и в скрипте в качестве ip адреса сервера указывать 127.0.0.1.

Я в таких случаях создаю несколько скриптов: на монтирование шары, бэкап и размонтирование, объединяю их в один и запускаю последовательно. В итоге получается, что подключаем диск, делаем бэкап и отключаем его.


Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по CentOS

Рекомендую полезные материалы по CentOS:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка времени
  • Настройка сети
  • Настройка репозиториев
  • Настройка iptables
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел.
Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования.
Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое.
Подробное описание настройки сети в CentOS 7 - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Установка репозиториев epel, rpmforge и др. Добавление, удаление, обновление rpm репозиториев в CentOS.
Рассмотрены основные моменты настройки iptables в Centos 7 - установка, добавление правил, проброс портов, nat, логирование и д.р.
Настройка программных комплексов
 
  • Прокси сервер
  • Шлюз
  • Asterisk
  • Asterisk+Freepbx
  • Сервер VPN
  • Web сервер Apache
  • Web сервер Nginx
  • Почтовый сервер
Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid+AD+sams2, реализован запрет доступа по url и группам пользователей.
Простая и быстрая настройка шлюза на базе CentOS 7 для организации доступа в интернет из локальной сети.
Описание установки и настройки asterisk - популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии.
Подробное описание установки voip сервера asterisk и панели управления freepbx на CentOS 7.
Установка и настройка OpenVPN сервера на CentOS для объединения офисов и подключения удаленных пользователей
Настройка web сервера CentOS 7 на базе связки http сервера apache, php и сервера db mysql, или коротко - установка lamp.
Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.

Описание установки и настройки почтового сервера iRedMail на основе готовой сборки на CentOS 7. Обзор основных возможностей и рекомендации по настройке.

Самостоятельная настройки почтового сервера postfix + dovecot а так же дополнительных полезных модулей для полноценной и удобной работы почты.

Размышления на тему выбора почтового сервера для малых и средних компаний.

Настройка отдельных программ
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
  • Syslog-NG
Видео и подробное описание установки и настройки Zabbix 3.2, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание установки и настройки панели управления phpmyadmin на веб сервер apache и nginx под управлением Centos 7.
Подробное описание установки и настройки Webmin на CentOS 7 для удаленного подключения и управления сервером.
Подробное описание установки языка Ruby последней версии на веб сервер под управлением CentOS 7.
Подробное описание установки или обновления php 7 на CentOS 7. Рассмотрен вариант отката обновления и возврата на php 5.6 или 5.4.
Подробное описание с видео установки и настройки ftp сервера vsftpd, примеры с локальными и виртуальные пользователями в mysql.
Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование.
Установка Unison в CentOS 7 для двухсторонней синхронизации файлов.
Инструкция по установке и настройке сервера мониторинга Observium на CentOS 7. В качестве примера в конце добавлено одно устройство для мониторинга.
Настройка сервера для централизованного сбора логов с удаленных устройств и серверов с помощью программы syslog-ng.
Разное
  • Настройка ssl в Apache
  • Бэкап с помощью rsync
Настройка работы веб сервера apache с виртуальными хостами по протоколу https с использованием бесплатного ssl сертификата.
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.

Дополнительные материалы по Debian

Рекомендую полезные материалы по Debian:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка сети
  • Обновление 7 до 8
  • Включение логов cron
Подробная установка Debian 8 Jessie с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика.
Базовая настройка сервера Debian 8. Приведены практические советы по улучшению безопасности и удобства администрирования.
Подробное описание настройки сети в Debian - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Обновление предыдущей версии Debian 7 wheezy до последней Debian 8 Jessie. Подробная инструкция с описанием по каждому этапу обновления.
Включение записи логов cron в Debian в отдельный файл и настройка ротации этого файла. Отключение логов в syslog.
Настройка программных комплексов
 
  • Proxmox
  • Шлюз в интернет
  • Установка Asterisk
  • Asterisk+Freepbx
  • PostgreSQL для 1С
  • Настройка pptp
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке.
Настройка интернет шлюза на Debian 8. Включает в себя настройку iptables, nat, dhcp, dns, iftop.
Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk.
Установка Freepbx 12 и Asterisk 13 на сервер под управлением Debian/Ubuntu. Подробное описание и разбор ошибок установки.
Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива.
Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети.
Разное
  • Бэкап с помощью rsync
  • Тюнинг postgresl для 1C
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.
Ускорение работы 1С с postgresql и диагностика проблем производительности

28 комментариев

  1. Добрый день. Настраивал rsync в ubuntu server 14.04 по Вашей инструкции.

    Монтирование шары винды сработало только так:
    mount cifs //192.168.0.1/data /mnt/data -o user=user,pass=123,iocharset=utf8,rw,dir_mode=0777,file_mode=0777

    Скрипт сработал только так:
    #!/bin/bash
    date
    # Папка, куда будем складывать архивы
    syst_dir=/backup/
    # Имя сервера, который архивируем
    srv_name=server1
    # Адрес сервера, который архивируем
    srv_ip=127.0.0.1
    # Пользователь rsync на сервере, который архивируем
    srv_user=backup
    # Ресурс на сервере для бэкапа
    srv_dir=/mnt/data
    echo «Start backup ${srv_name}»
    # Создаем папку для инкрементных бэкапов
    mkdir -p ${syst_dir}${srv_name}/increment/
    # Запускаем непосредственно бэкап с параметрами
    /usr/bin/rsync -a —delete /mnt/data ${syst_dir}${srv_name}/current/ —backup —backup-dir=${syst_dir}${srv_name}/increment/`date +%Y-%m-%d`/
    # Чистим папки с инкрементными архивами старше 30-ти дней
    /usr/bin/find ${syst_dir}${srv_name}/increment/ -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
    date
    echo «Finish backup ${srv_name}»

    Может кому пригодится)

    • Спасибо за комментарий, кому-то может пригодиться. Изменения не принципиальные, просто чуть другие параметры. Я все делал на Debian, когда писал. В каких-то мелочах могут быть отличия от Ubuntu.

    • А в целом получилось бэкап настроить? Мне нравится такая схема, я часто ее использую. Быстро, бесплатно и эффективно.

      • Да, всё заработало, спасибо.
        Друг рассказывал про синк, но добрался я до него через пол года, действительно удобно.

  2. Виктор

    Добрый день. Воспользовался вашей статьей, сам в первые пользуюсь линуксом, юзаю Ubuntu server 14.04. Есть необходимость подключать виндовс шару, бекапить ее на линукс сервер. Скрипт заработал у меня в следующем виде:

    #!/bin/sh
    #монтируем виндовс ресурс, кторый хотим сохранить
    mount -t cifs //192.168.0.100/Doks /mnt/Doks -o user=username,password=password
    echo «mount Doks»
    #бекапим файлы с помощью демона rsync
    date
    # Папка, куда будем складывать архивы
    syst_dir=/windows/
    # Имя сервера, который архивируем
    srv_name=myserv
    # Адрес сервера, который архивируем
    srv_ip=127.0.0.1
    # Пользователь rsync на сервере, который архивируем
    srv_user=username
    # Ресурс на сервере для бэкапа
    srv_dir=/mnt/Doks
    echo «Start backup ${srv_name}»
    # Создаем папку для инкрементных бэкапов
    mkdir -p ${syst_dir}${srv_name}/increment/
    # Запускаем непосредственно бэкап с параметрами
    /usr/bin/rsync -a —delete /mnt/Doks/ ${syst_dir}${srv_name}/current/ —backup —backup-dir=${syst_dir}${srv_name}/increment/`date +%Y-%m-%d`/
    # Чистим папки с инкрементными архивами старше 30-ти дней
    /usr/bin/find ${syst_dir}${srv_name}/increment/ -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
    date
    echo «Finish backup ${srv_name}»
    #размонтируем виндовс ресурс
    umount /mnt/Doks
    echo «umount Doks»

    И проблема в том, что при первом запуске скрипт работает как задумано — создает бекап в папку current, создает папку increment с текущем числом, в которой лежат пустые папки из виндовс шары, но стоит либо скрипт запустить повторно, либо по крону настроить автоматический запуск, как начинается какая то муть — каждый четный запуск скрипта (2,4,6 и т.д.) приводит к тому, что все, что лежит в папке Current копируется в текущий increment и удалется. То есть 50 гектар бекапа полностью перетекают в increment, после чего папка Current становиться пустой. Каждый нечетный запуск скрипта (1,3,5 и т.д.) сохраняет данные виндовс шары в папку current, то есть все как задумывалось работает. Опыта к сожалению мало, мануалы почитал, но то ли лыжи не едут, то ли одно из двух %) Подскажите в чем может быть пробелма? Или хотя бы куда копать?

    • Судя по тому, что данные из current улетают в increment, во время бэкапа папка с данными не подмонтирована, либо она по какой-то причине пустая. Rsync считает, что в папке пусто и все, что было ранее, перемещает в папку increment. Это его нормальное поведение при пустом источнике файлов. Копай в эту сторону.

      • Виктор

        Спасибо за совет. Буду смотреть, что да как монтируется.

        • Виктор

          Все, докопался: бэкапил два ноутбука и из-за того, что они в любой момент могут быть как выключены, так и просто унесены из дома на работу/учебу/etc, то и получалось, что скрипт пытался монтировать папки с данными, которых не было в сети, а rsync уже бэкапил пустые директории. Решил проблему следующим костылем %): создал в директориях для бэкапа файлы, типо frbckp.txt, и в скрипт добавил проверку наличия этих файлов. Если проверка не проходит, значит шара не подмонтирована и Rsync не запускается. Вот кусок скрипта:

          #монтируем виндовс ресурс, кторый хотим сохранить
          mount -t cifs //192.168.0.100/Doks /mnt/Doks -o user=user,password=password
          #проверяем смонтировалось или нет
          if test -e /mnt/Doks/frbckp.txt
          #если да, то начинаем бэкап
          then echo «Сохранение данных успешно : » >> /windows/log.txt
          date >> /windows/log.txt
          …….
          #если нет, то ничего не делаем
          else echo «Облом, компа нет в сети, не сохранилось: » >> /windows/log.txt
          date >> /windows/log.txt
          fi
          Вдруг кто на те же грабли наступит.

          • Да, костыль нормальный 🙂 Более правильно конечно проверять сам факт, что нужный ресурс смонтирован. Я на самом деле так и делаю, тут старая версия, не отражено это. Здесь я все-таки более универсальный подход привел, без привязки к точкам монтирования. Они могут быть разными.

  3. Спасибо за статью!
    Возник вопрос, в чем преимущества/недостатки отдельного rsync-сервера на отдельном порту по сравнению с ssh.

    Я давно и успешно пользуюсь ssh для этой цели: rsync -aux hostname:/dir /backup/hostname/dir (для копирования с сервера hostname в локальный каталог). Все эти —backup-dir тоже отлично работают.
    Не надо настраивать отдельных сервисов на серверах-источниках, все спокойно скачивается по ssh.
    Единственное, приходится открывать рута для доступа по ssh и генерировать пару ключей для беспарольного входа. Это безусловно минус к безопасности. Который я надеялся обойти при помощи rsync-сервера.
    Но когда я прочитал вот это: «backup:12345» — тупо пароль в текстовом файле, даже не зашифрованный! (спасибо, что хоть «Делаем права на чтение только root, иначе rsync не запустится»), то желание «повышать безопасность» таким способом отпало напрочь.
    Ведь фактически, любой, кто узнает этот пароль, автоматически получит полный доступ к данным сервера!
    Есть у кого-нибудь какие-то соображения на этот счет?

    • Я не проверял специально, но думаю, что по ssh будет меньше скорость, чем напрямую через rsync. Узнав пароль пользователя rsync, можно получить данные, к которым есть доступ только через rsync, а не ко всем данным сервера. А с учетом того, что доступ на чтение файла с паролем есть только у рута, узнать пароль сможет только тот, кто получил рут доступ. В общем, как мне видится, какого-то принципиального отличия в безопасности я не вижу.

      Даже более того, если будет скомпрометирован сервер с бэкапами, злоумышленник получит рут доступ ко всем серверам, с которых по ssh забирались данные через учетку рута. А тут будет только ограниченный доступ к каталогам с бэкапом.

      Думаю, от ситуации надо отталкиваться. Если реально нужны высокие меры безопасности, то можно придумать решение. Но я не вижу в этом надобности в обычной среднестатистической ситуации.

  4. Подскажите как мне на Ubuntu настроить бэкап vmware esxi на этой вертуалке крктиться ad и основной host причем Ubuntu крутиться на отдельной железке?я нечего не шарю в бкапах и линуксе , помогите плиз)

  5. Добрый день.
    Кажется у вас там опечатка в строке =>
    /usr/bin/rsync -a —delete —password-file=/etc/rsyncd.scrt ${srv_user}@${srv_ip}::${srv_dir} ${syst_dir}${srv_name}/current/ —backup —backup-dir=${syst_dir}${srv_name}/increment/`date +%Y-%m-%d`/
    Тут достаточно одного двоеточия.
    Ну и лично от меня. Кажется удобнее подключаться с помощью ssh ключа чем с файлом паролем.
    Отличная статья как всегда!

    • У меня именно два двоеточия в скриптах, так и работает. Уже не помню почему и зачем их два 🙂 По ssh ключу тоже иногда настраиваю, если он есть. Тут субъективно, кому как больше нравится.

  6. Спасибо огромное, первый раз пользовался rsync и Ваша статья просто сказка, вам бы инструкции писать — четко, понятно, мысли — «А откуда это взялось — не возникает». Но можно вопрос, по причине тугодумности, а как восстанавливать? И можно ли, чтобы копия делалась наоборот — в increment создавалась папка с изменениями, а в current оставались файлы неизменны?

    • Не понял вопрос про восстановление. Файлы же в открытом виде лежат. Можно просто зайти в папку и скопировать куда хочется.

      • А автоматически, командой rsync, с сервера где лежит резервная копия? Например если резервная копия более 100 Гб, а сервер удаленный. Не слишком удобно копировать обратно посредством, допустим ftp-сервера.

        • Тогда можно воспользоваться rsync, только в обратном направлении. Для этого подойдет простой запуск команды без лишних ключей:
          rsync -v /backup /new_folder
          Папку /new_folder можно подмонтировать каким-то образом к серверу с бэкапом, если нужно на удаленный сервер загрузить. Это самый быстрый вариант.

          А можно просто настроить все то же самое, что описано в статье, только в обратную сторону. Поменять местами источник и приемник.

          В общем, тут можно воспользоваться абсолютно любым вариантом передачи файлов с одного сервера на другой. Это же сырые данные, просто файлы. Передавай их так, как тебе удобно.

          Если файлов 100 Гб, то очевидно, их лучше сжать сначала архиватором перед отправкой.

          Rsync просто инструмент копирования, это не готовая система бэкапа, где все можно в несколько кликов сделать и восстановить на место файлы, как, например, в veeam.

  7. Здравствуйте, помогите пожалуйста. Недели три назад проверял rsync, настроил и видимо указал где то чтобы принимал запросы только с одного ip. И теперь не могу понять как это изменить. Потому что с других адресов сразу отбивает, говорит что соединение не установилось. Вывод команды admroot@eph# sudo netstat -lnpt | grep 873
    tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 27164/xinetd

    Вроде все порты слушает, только с одного ip пробивает telnet, остальные отбой дают. Пожалуйста помогите.

    • Скорее всего ограничение доступа было настроено с помощью фаервола — iptables. Там и надо смотреть.

  8. И вроде только порт 873, с остальных адресов могу подключиться Telnet — порт отвечает.

  9. Спасибо большое, разобрался в iptables, оказалось что это предыдущие настройщики разрешили с нашего ip, а все остальное отрубили — добавил, заработало! Спасибо за подсказку. Никак не могу разобраться чтобы команда работала наоборот, чтобы в current лежал полный архив, например, за 20 мая, а в increment складывались изменения за 21 мая, за 22 мая. Что то он меня не понимает. А вообще rsync довольно шустро передает, я с одного сервера на другой им перекинул 50 Гб за 28 минут, а ftp тот же объем ли 1ч10.

    • Да, rsync работает быстрее всех известных мне способов передачи информации. Всегда его использую при возможности.

      • «Никак не могу разобраться чтобы команда работала наоборот, чтобы в current лежал полный архив, например, за 20 мая, а в increment складывались изменения за 21 мая, за 22 мая.»
        А это вообще возможно или нет?

  10. Здравствуйте, на одном сервере все работает как часы, а на другом у нас нет прав root — ни порты не открыть, ни файлы сконфигурировать вот и приходиться выкручиваться и использовать rsync через ssh. Но файл с паролем не проходит конфиг вот такой:
    rsync -a —delete —password-file=/etc/rsyncdwor.scrt -e ‘ssh -p 2222’ ${srv_user}@${srv_ip}:${srv_dir} ${syst_dir}${srv_name}/current/ —backup —backup-dir=${syst_dir}${srv_name}/increment/`date +%Y-%m-%d`/
    и сразу вываливается ошибка —
    The —password-file option may only be used when accessing an rsync daemon.
    rsync error: syntax or usage error (code 1) at main.c(1251) [Receiver=3.0.9]
    Если пароль забивать ручками, то работает.

  11. Самое интересное что две страницы google просмотрел и складывается ощущение что password-file использовать бессмысленно — ведь запрос выдает не rsync, а ssh.

  12. И по ssh раз в час примерно связь отрубается, теряется соединение и ничего не поделаешь, а в rsync можно чтобы он если связь оборвалась до копировал недостающие файлы в папке?

Добавить комментарий

Ваш e-mail не будет опубликован.