понедельник, 29 октября 2012 г.

Bacula Centos

Установка из rpm  http://repos.fedorapeople.org/repos/slaanesh/bacula

To install the repository, run as root the following commands.

For RHEL/Centos:

wget http://repos.fedorapeople.org/repos/slaanesh/bacula/epel-bacula.repo \
 -O /etc/yum.repos.d/epel-bacula.repo

For Fedora:

wget http://repos.fedorapeople.org/repos/slaanesh/bacula/fedora-bacula.repo \
        -O /etc/yum.repos.d/fedora-bacula.repo 
 
 
 
-------------------------------------------------------------- 
mysql на другом сервере 
 
yum install mysql-server
 
service mysqld start 

/usr/bin/mysql_secure_installation
 
mysql -u root -p 



GRANT ALL PRIVILEGES ON *.* TO 'my_user'@'localhost'
 IDENTIFIED BY 'my_password' WITH GRANT OPTION;
 
select user,host,password from mysql.user; 

# set root password
set password for root@localhost=password('password');
set password for root@'127.0.0.1'=password('password');
set password for root@'www.server.world'=password('password');

# delete anonymous user
delete from mysql.user where user='';
 
 
-------------------------------------------------------------- 
на bacula 
 
yum install bacula-director 
yum install bacula-storage 
yum install bacula-console 
 
[root@bacula bacula]# alternatives --config libbaccats.so

There are 3 programs which provide 'libbaccats.so'.

  Selection    Command
-----------------------------------------------
   1           /usr/lib64/libbaccats-mysql.so
   2           /usr/lib64/libbaccats-sqlite3.so
*+ 3           /usr/lib64/libbaccats-postgresql.so

Enter to keep the current selection[+], or type selection number: 1
 
cd /usr/libexec/bacula 
./create_mysql_database -h bcatalog.domain.ru -u root -p
./make_mysql_tables -h bcatalog.domain.ru -u root -p
./grant_mysql_privileges -h bcatalog.domain.ru -u root -p 
 
Задать пароль для пользователя bacula  


Пример FileSet для windows 
 
FileSet {
  Name = "windows-n2229-doc"
  Include {
    Options {
      signature = MD5
      Compression=GZIP
      Ignore Case = yes
    }
    File = "D:/Книги"
    File = "D:/vbs"
# обратите внимание на двойной бекслэш и кавычки! - видимо для старый версий
#    File = "D:\\Книги"
#    File = "D:\\vbs"
#    File = "D:\\Public\\tex\\Maps"
#    File = "D:\\Public\\Отдел\ продаж1"
}
Exclude {
    File = "*.mp3"
    File = "*.avi"
    File = "*.wmv"
    File = "*.tmp"
 }
}
 
 
 
---------------------------------------------
Отлично расписано 
#
# для каждого клиента под Linux
#
FileSet {
  Name = ИмяКлиента
# не делать полное копирование после изменения списка
# Ignore FileSet Changes = Yes
  Include {
    Options {
      compression = GZIP
      signature = SHA1
      onefs = yes
      aclsupport = yes
      noatime = yes
      checkfilechanges = yes
    }
    File = /
# каждую файловую систему отдельно
    ...
  }
  Exclude {
    File = /proc
    File = /sys
    File = /net
    File = /media
# для devfs
#    File = /dev
# для прочих
    File = /dev/pts
    File = /dev/shm
    File = /tmp
    File = /var/cache/yum
    File = /.journal
    File = /.fsck
    File = /var/lib/nfs/rpc_pipefs
    File = /.autofsck
    File = /selinux
    File = /var/named/chroot/proc
    File = ...
  }
}
#
# для каждого клиента под MS Windows XP/2003
#
FileSet {
  Name = ИмяКлиента
# не делать полное копирование после изменения списка
# Ignore FileSet Changes = Yes
  Enable VSS = Yes
  Include {
    Options {
      compression = GZIP
      signature = SHA1
      onefs = yes
      portable = no
      noatime = yes
      checkfilechanges = yes
      Ignore Case = yes
      wildfile = "*.avi"
      wildfile = "*.wmv"
      wildfile = "*.mp3"
      wildfile = "pagefile.sys"
      wildfile = "hiberfil.sys"
      wilddir = "System Volume Information"
      wilddir = "TEMP"
      wild = ...
      exclude = yes
    }
    File = "e:/"
# каждый диск отдельно
    ...
  }
} 
------------
 
# долговременное хранение для серверов с возможностью восстановления 
# состояния на любой день в течении недели, на любое воскресенье в течении месяца,
# на первое воскресенье в течении года
#   ночью первого воскресенья месяца - полное копирование на тома пула ИмяКлиента-monthly
#   в остальные воскресенья - полное копирование на тома пула ИмяКлиента-weekly
#   в прочие дни - копирование изменений на тома пула ИмяКлиента-daily
Schedule {
  Name = "ИмяКлиента-year"
  Run = Level=Full Pool=ИмяКлиента-monthly 1st sun at 00:05
  Run = Level=Full Pool=ИмяКлиента-weekly 2nd-5th sun at 00:05
  Run = Level=Incremental Pool=ИмяКлиента-daily mon-sat at 00:05
}
# среднесрочное хранение для серверов с возможностью восстановления 
# состояния на любой день в течении недели, на любое воскресенье в течении месяца
#   ночью в воскресенье - полное копирование на тома пула ИмяКлиента-weekly
#   в прочие дни - копирование изменений на тома пула ИмяКлиента-daily
Schedule {
  Name = "ИмяКлиента-year"
  Run = Level=Full Pool=ИмяКлиента-weekly sun at 00:05
  Run = Level=Incremental Pool=ИмяКлиента-daily mon-sat at 00:05
} 
 
 
Для восстановления 
должно быть в файле конфигурации хотя бы одно задание job restore

для восстановления удобно использовать Strip Prefix и Add Prefix 
 
Пример в среде windows, при этом Where = <directory> игнорируется, 
по крайней мере в bat это поле становится не доступным
Strip Prefix = <directory>
This directive applies only to a Restore job and specifies a prefix to remove from the directory name of all files being restored. This will use the File Relocation feature implemented in Bacula 2.1.8 or later. Using Strip Prefix=/etc, /etc/passwd will be restored to /passwd
Under Windows, if you want to restore c:/files to d:/files, you can use :
 Strip Prefix = c:
 Add Prefix = d:
--------------
Теперь перейдем непосредственно к восстановлению. Запускаем на сервере bconsole, выбираем restore и указывыем для восстановления соответствующий job.
На этапе выбора файлов для восстановления нам доступно несколько команд, опишу самые полезные:
help — подсказка
find — поиск нужного файла
ls,dir — просмотр файлов в текущем каталоге (каталоги с подкаталогами будут отображены с "+")
cd — смена каталога
mark file — отметить файл находящийся в текущем местоположении
mark dir/ — отметить отдельный каталог находящийся в текущем местоположении
mark * — отметить все файлы и каталоги внутри текущего каталога. Кстати, TAB здесь тоже работает
lsmark — просмотреть отмеченние файлы
pwd — показать текущий каталог
estimate — посчитать размер восстанавливаемых файлов
done — закончить отметку
Т.о. общая схема такая — ищем через find то что нужно, затем переходим в нужный каталог посредством cd и делаем mark на то, что нужно.
Важное замечание:
для bacula имеет значение регистр, не важно что клиентом выступает Windows-машина.

Комментариев нет:

Отправить комментарий