Установка из 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-машина.
Теперь перейдем непосредственно к восстановлению. Запускаем на сервере bconsole, выбираем restore и указывыем для восстановления соответствующий job.
На этапе выбора файлов для восстановления нам доступно несколько команд, опишу самые полезные:
help — подсказка
find — поиск нужного файла
ls,dir — просмотр файлов в текущем каталоге (каталоги с подкаталогами будут отображены с "+")
cd — смена каталога
mark file — отметить файл находящийся в текущем местоположении
mark dir/ — отметить отдельный каталог находящийся в текущем местоположении
mark * — отметить все файлы и каталоги внутри текущего каталога. Кстати, TAB здесь тоже работает
lsmark — просмотреть отмеченние файлы
pwd — показать текущий каталог
estimate — посчитать размер восстанавливаемых файлов
done — закончить отметку
Т.о. общая схема такая — ищем через find то что нужно, затем переходим в нужный каталог посредством cd и делаем mark на то, что нужно.
Важное замечание:
для bacula имеет значение регистр, не важно что клиентом выступает Windows-машина.
Комментариев нет:
Отправить комментарий