Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
system:backup_с_помощью_rsync [2015/11/03 08:48] mirocowsystem:backup_с_помощью_rsync [2018/10/04 10:33] (текущий) mirocow
Строка 1: Строка 1:
-{{tag>shell utils network rsync backup}}+{{tag>shell utils network rsync rsyncd backup}}
  
-====== Backup с помощью rsync ====== +====== Backup с помощью rsyncd ======
- +
-Автор: fr33man.+
  
 Решил настроить backup. Первая мысль была: ночью сжимать все в один большой архив и отправлять по сети с помощью scp, например.. Но этот Решил настроить backup. Первая мысль была: ночью сжимать все в один большой архив и отправлять по сети с помощью scp, например.. Но этот
Строка 16: Строка 14:
 rsync клиент. После этого синхронизиркем данные на backup сервере с данными на других серверах. Для примера, имя бэкап сервера будет: backup,  rsync клиент. После этого синхронизиркем данные на backup сервере с данными на других серверах. Для примера, имя бэкап сервера будет: backup, 
 а имя машины с которой мы будем синхронизировать данные — mail: а имя машины с которой мы будем синхронизировать данные — mail:
 +
 +===== Проверка =====
 +
 +<code sh>
   mail# uname -rsn   mail# uname -rsn
   FreeBSD mail.teachers 6.1-RELEASE   FreeBSD mail.teachers 6.1-RELEASE
   mail#   mail#
 +</code>
  
 +<code sh>
   /root/> uname -rsn   /root/> uname -rsn
   FreeBSD backup 6.1-RELEASE-p6   FreeBSD backup 6.1-RELEASE-p6
   /root/>   /root/>
-  Сначала настроим rsync сервер. Идем в порты ставить: +</code>
-  mail# cd /usr/ports/ +
-  mail# make search name='rsync' +
-  ... skipped ...+
  
-  Port:   rsync-2.6.8_2 +===== Настройка =====
-  Path:   /usr/ports/net/rsync +
-  Info:   A network file distribution/synchronization utility +
-  Maint:  pav@FreeBSD.org +
-  B-deps: +
-  R-deps: +
-  WWW:    http://rsync.samba.org/+
  
-  ... skipped ...+Сначала настроим rsync серверИдем в порты ставить:
  
-  mailcd /usr/ports/net/rsync/ +  # apt-get install rsync
-  mail# make install clean +
-  mail# rehash +
-  mail#  +
-  Рихтуем rsyncd.conf: +
-  mail# cd /usr/local/etc/ +
-  mail# ls -la | grep rsync +
-  -r--r--r--   1 root   wheel    766 Oct  5 21:21 rsyncd.conf +
-  -r--r--r--   1 root   wheel    766 Oct  5 21:21 rsyncd.conf.sample +
-  mail# +
-  rsyncd.conf:+
  
 +**nano rsyncd.conf**
 +<code sh>
   # Файл приветствия   # Файл приветствия
   motd file = /etc/new_motd   motd file = /etc/new_motd
Строка 64: Строка 51:
           path = /etc/           path = /etc/
  
-                  # Под каким uid'ом работать+          # Под каким uid'ом работать
           uid = root           uid = root
  
-                  # Только чтение+          # Только чтение
           read only = yes           read only = yes
  
-                  # Разрешать просмотр файлов+          # Разрешать просмотр файлов
           list = yes           list = yes
  
-                  # Комментарий+          # Комментарий
           comment = ETC directory           comment = ETC directory
  
-                  # Хосты, которым разрешен доступ+          # Хосты, которым разрешен доступ
           hosts allow = 192.168.1.249           hosts allow = 192.168.1.249
  
-                  # Разрешенные пользователи+          # Разрешенные пользователи
           auth users = backup           auth users = backup
  
-                  # Путь к файлу с паролями+          # Путь к файлу с паролями
           secrets file = /usr/local/etc/rsyncd.scrt           secrets file = /usr/local/etc/rsyncd.scrt
  
   # Далее может идти описание других секций(по аналогии с samba и шарами)   # Далее может идти описание других секций(по аналогии с samba и шарами)
   Создаем необходимые файлы и директории   Создаем необходимые файлы и директории
 +</code>
  
 +<code sh>
   mail# cat > /etc/new_motd   mail# cat > /etc/new_motd
   HELLO FROM RSYNC   HELLO FROM RSYNC
Строка 105: Строка 94:
   97920  ??  Ss     0:00.00 /usr/local/bin/rsync --daemon   97920  ??  Ss     0:00.00 /usr/local/bin/rsync --daemon
   97922  p0  S+     0:00.01 grep rsyn   97922  p0  S+     0:00.01 grep rsyn
-  mail# +  mail# 
 +</code> 
 Теперь перейдем к настройке клинта, точнее настраивать там ничего не надо... Нужно просто проверить как все работает: Теперь перейдем к настройке клинта, точнее настраивать там ничего не надо... Нужно просто проверить как все работает:
  
 +<code sh>
   /root/> cd /usr/ports/net/rsync/   /root/> cd /usr/ports/net/rsync/
   /usr/ports/net/rsync/> make install clean   /usr/ports/net/rsync/> make install clean
Строка 113: Строка 105:
   /usr/ports/net/rsync/> rehash   /usr/ports/net/rsync/> rehash
   /usr/ports/net/rsync/>   /usr/ports/net/rsync/>
 +</code>
 +
 Проверяем работу сервера: Проверяем работу сервера:
  
 +<code sh>
   /root/> rsync mail::   /root/> rsync mail::
   HELLO FROM RSYNC   HELLO FROM RSYNC
Строка 123: Строка 117:
   var             VAR directory   var             VAR directory
   /root/>   /root/>
 +</code>
 +
 Теперь пробуем авторизоваться: Теперь пробуем авторизоваться:
  
 +<code sh>
   /usr/ports/net/rsync/> rsync backup@mail::etc   /usr/ports/net/rsync/> rsync backup@mail::etc
   HELLO FROM RSYNC   HELLO FROM RSYNC
Строка 151: Строка 148:
  
   /usr/ports/net/rsync/>   /usr/ports/net/rsync/>
 +</code>
  
-В первый раз я ввел неверный пароль. Все конечно хорошо, но если запускать бэкап по крону, то как вводить пароль? Для этого можно  +В первый раз я ввел неверный пароль. Все конечно хорошо, но если запускать бэкап по крону, то как вводить пароль? Для этого можно указать password-file: 
-  указать password-file:+   
 +<code sh>
   /usr/ports/net/rsync/> cat > /usr/local/etc/rsyncd.scrt   /usr/ports/net/rsync/> cat > /usr/local/etc/rsyncd.scrt
   123456   123456
Строка 161: Строка 160:
   ? backup@mail::etc   ? backup@mail::etc
   HELLO FROM RSYNC   HELLO FROM RSYNC
- 
  
   drwxr-xr-x        2048 2006/10/05 21:27:03 .   drwxr-xr-x        2048 2006/10/05 21:27:03 .
Строка 175: Строка 173:
   ... skipped ...   ... skipped ...
   /usr/ports/net/rsync/>   /usr/ports/net/rsync/>
 +</code>
 +
 На сервере, в логах будет примерно следующее: На сервере, в логах будет примерно следующее:
  
 +<code sh>
   mail# tail -3 /var/log/rsyncd.log   mail# tail -3 /var/log/rsyncd.log
   2006/10/05 21:53:21 [98220] connect from backup.teachers (192.168.1.249)   2006/10/05 21:53:21 [98220] connect from backup.teachers (192.168.1.249)
Строка 182: Строка 183:
   2006/10/05 21:53:21 [98220] sent 1807 bytes  received 99 bytes  total size 411665   2006/10/05 21:53:21 [98220] sent 1807 bytes  received 99 bytes  total size 411665
   mail#   mail#
 +</code>
 +
 На backup сервере создадим директорию, где будут храниться забэкаппенные файлы и начинаем backup: На backup сервере создадим директорию, где будут храниться забэкаппенные файлы и начинаем backup:
  
 +<code sh>
   /root/> df -alh | grep backup   /root/> df -alh | grep backup
   /dev/ad1s1d    144G    2.0K    133G     0%    /backup   /dev/ad1s1d    144G    2.0K    133G     0%    /backup
Строка 204: Строка 208:
   skipping non-regular file "termcap"   skipping non-regular file "termcap"
   /root/>   /root/>
 +</code>
 +
 Ссылочки rsync качать не стал. ;). Смотрим, что у нас получилось: Ссылочки rsync качать не стал. ;). Смотрим, что у нас получилось:
  
 +<code sh>
   /root/> ls -la /backup/mail.teachers/etc/   /root/> ls -la /backup/mail.teachers/etc/
   total 528   total 528
Строка 222: Строка 229:
   ... skipped ...   ... skipped ...
   /root/>   /root/>
 +</code>
 +
 На сервере: На сервере:
 +
 +<code sh>
   mail# tail -3 /var/log/rsyncd.log   mail# tail -3 /var/log/rsyncd.log
   2006/10/05 22:00:05 [98379] send backup.teachers    2006/10/05 22:00:05 [98379] send backup.teachers 
Строка 231: Строка 242:
   received 7581 bytes  total size 1264419   received 7581 bytes  total size 1264419
   mail#   mail#
 +</code>
 +
 Как видите, у нас передалась вся директория etc и все поддиректории. Давайте добавим в файл /etc/hosts пробел и попробуем сделать бэкап: Как видите, у нас передалась вся директория etc и все поддиректории. Давайте добавим в файл /etc/hosts пробел и попробуем сделать бэкап:
  
   mail# echo "" >> /etc/hosts   mail# echo "" >> /etc/hosts
   mail#   mail#
 +  
 Теперь бэкапим: Теперь бэкапим:
  
 +<code sh>
   /root/> rsync --update --verbose --recursive \    /root/> rsync --update --verbose --recursive \ 
   ? --password-file=/usr/local/etc/rsyncd.scrt \   ? --password-file=/usr/local/etc/rsyncd.scrt \
Строка 253: Строка 268:
   total size is 1264421  speedup is 188.92   total size is 1264421  speedup is 188.92
   /root/>   /root/>
 +</code>
 +
 Как видите, у нас передался только файл hosts, потому что изменился только он. Как видите, у нас передался только файл hosts, потому что изменился только он.
  
-На этом вроде все.... Если найду еще интересные подробности выложу. ))