The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Резервное копирование при помощи rdiff-backup (rsync backup diff)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: rsync, backup, diff,  (найти похожие документы)
From: Roman Sozinov <http://sozinov.blogspot.com>; Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC) Subject: Резервное копирование при помощи rdiff-backup Оригинал: http://sozinov.blogspot.com/2006/08/backup-with-rdiff-backup.html Подискутировав и поинтересовавшись на форумах, решил продолжать использующийся механизм резервного копирования данных на backup-сервер, при котором сам backup-сервер инициирует копирование с серверов. Лог: 1. Генерируем пару ключей на backup-сервере для пользователя root. backup# ssh-keygen -t dsa -b 2048 -N "" Generating public/private dsa key pair. Enter file in which to save the key (/root/.ssh/id_dsa): Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. The key fingerprint is: ea:41:ed:8d:76:32:9f:1b:f5:41:68:3d:e0:10:a0:5d root@backup 2. Копируем содержимое файла /root/.ssh/id_dsa.pub с backup-сервера в файл /root/.ssh/authorized_keys на те сервера, которые нуждаются в резервном копировании. В соответствие с форматом файла authorized_keys добавляем в него необходимые опции: from="backup". После тестирования ssh-соединения можно добавить необязательные, но предоставляющие дополнительную безопасность, опции: no-X11-forwarding, no-port-forwarding, no-pty, no-agent-forwarding. 3. На backup-сервере и всех серверах, учавствующих в резервном копировании необходимо установить утилиту rdiff-backup Debian apt-get install rdiff-backup FreeBSD cd /usr/ports/sysutils/rdiff-backup make && make install from sources (необходимо наличие библиотек и header-файлов для librsync, python) wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-VER.tar.gz tar zxf rdiff-backup-VER.tar.gz cd rdiff-backup-VER python setup.py install 4. В соответствие с форматом backup-скрипта(приведен ниже), составляем list-файлы, содержащие описание директорий для резервного копирования. #!/bin/sh # $1 - list StartTime=`date +%H:%M:%S`; cat $1 | while read args do # format of entries in list-file # $1 - remote host # $2 - remote dir # $3 - local dir # $4 - pattern (copy dirs, which contains files with that pattern. For example 'log|tar') set $args if [ "$1" = "#" ] then continue; fi echo "$1::$2 > $3" rdiff-backup --create-full-path --exclude-symbolic-links --exclude-sockets \ --exclude-special-files --exclude-fifos --exclude-device-files --no-hard-links \ --include-regexp ".*($4)" --exclude $2 $1::$2 $3 done EndTime=`date +%H:%M:%S`; echo "$StartTime - $EndTime"; 5. Автоматизируем действия с помощью cron, periodic.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
 
  • 1, Dary, 14:50, 29/03/2009 [ответить] [смотреть все]
  • +/
    очень хорошая статья.
    Блин. Обидно только, что при помощи всех этих манипуляций нельзя бэкапить примонтированные шары винды. оффтопик. да.
    Но, иногда полезно.
    Вернее, забэкапить-то можно, но вот при восстановлении ошибки от питона типа File ..main.py line 304 и куча колдовских изъяснений..
     
  • 2, Artur, 06:35, 15/07/2011 [ответить] [смотреть все]
  • +/
    Вот - http://www.artcom-ufa.ru/?posts/2011/07/12/rezervnoe-kopirovanie-na-veb-serve мой скрипт резервного копирования на веб-сервере.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor