Что такое Bareos?
Bareos (Backup Archiving Recovery Open Sourced) это высоконадежное сетевое кроссплатформенное программное обеспечение для резервного копирования, архивирования и восстановления данных. Bareos, основанный в 2010 году как 100-процентное открытое ответвление проекта Bacula, активно развивается и пополняется многими новыми функциями.
Поддержка LTO Hardware-шифрования, ограничение используемой ширины канала, поддержка облачных технологий и новые практичные команды для консоли — вот далеко не полный перечень расширенных функций, предлагаемых на сегодняшний день проектом Bareos. Исходный код доступен на https://github.com/bareos/ и находится под лицензией AGPL v3. Bareos также предоставляет готовые пакеты через репозитории для всех распространённых дистрибутивов Linux и установочные пакеты для Windows.
portsnap fetch portsnap extract portsnap fetch portsnap update
cd /usr/ports/databases/postgresql95-server make install clean BATCH=yes
mcedit /etc/rc.conf postgresql_enable="YES"
service postgresql initdb
Исправим конфигурационный файл:
mcedit /usr/local/pgsql/data/postgresql.conf listen_addresses = '*' port = 5432
Запустим и проверим:
/usr/local/etc/rc.d/postgresql start sockstat -l4 | grep post postgres postgres 99719 4 tcp4 *:5432 *:*
Изменим пароль, создадим пользователя, роль и добавим базу(тестовую. что бы было )) ).
passwd pgsql B4TA1Z1K su pgsql createuser -sdrP sector password createdb -O sector newdb psql newdb newdb=# \list List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+-------+----------------------- newdb | sector | UTF8 | C | C | postgres | postgres | UTF8 | C | C | template0 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) newdb=# \q $ exit
cd /usr/ports/www/apache24 make install clean BATCH=yes mcedit /etc/rc.conf apache24_enable="YES"
Исправим конфигурационный файл что бы запустился:
mcedit /usr/local/etc/apache24/httpd.conf ServerName 127.0.0.1:80
Запустим:
/usr/local/etc/rc.d/apache24 start
cd /usr/ports/lang/php72 make install clean BATCH=yes
Установим расширения для php:
cd /usr/ports/lang/php72-extensions/ make config bz2 calendar CURL GD GETTEXT MBSTRING PDF PDO_PGSQL PGSQL PSPELL SQLITE3 - снял XMLRPC XSL ZIP ZLIB остальное по умолчанию # make install clean BATCH=yes
Установим мод php:
cd /usr/ports/www/mod_php72 make install clean BATCH=yes
Скопируем php.ini:
cd /usr/local/etc/ cp php.ini-production php.ini
mcedit /usr/local/etc/apache24/httpd.conf раскомментировать - mod_rewrite в httpd.conf <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
Перезапустим:
/usr/local/etc/rc.d/apache24 restart
# cd /usr/ports/databases/phppgadmin/ # make install clean
Пропишем Alias и перезагрузим Apache:
mcedit /usr/local/etc/apache24/httpd.conf Alias /phpPgAdmin "/usr/local/www/phpPgAdmin/" <Directory "/usr/local/www/phpPgAdmin/"> AllowOverride None Options None Require all granted </Directory> /usr/local/etc/rc.d/apache24 restart
# cd /usr/ports/sysutils/bareos-server/ # make install clean
Выбрал все кроме MTX (Ленточный носитель).
При установке сервера он тянет за собой клиента, там оставил все по умолчанию.
Установим web- интерфейс:
cd /usr/ports/www/bareos-webui make install clean
скопируем Alias для Apache:
# cat /usr/local/etc/bareos-webui/apache-bareos-webui.conf
И вставим его в httpd.conf, а так же исправим пути в Alias на /usr/local/www:
# mcedit /usr/local/etc/apache24/httpd.conf
меняем права:
chown -R www:www /usr/local/etc/bareos-webui chown -R www:www /usr/local/www/bareos-webui chown -R bareos:bareos /usr/local/etc/bareos find /usr/local/etc/bareos -type f -exec chmod 640 {} ';' find /usr/local/etc/bareos -type d -exec chmod 750 {} ';'
Сделаем копию папки на всякий случай:
cp -a /usr/local/etc/bareos /usr/local/etc/bareos.bck
mcedit /etc/rc.conf bareos_dir_enable="YES" bareos_fd_enable="YES" bareos_sd_enable="YES"
Добавим пользователя bareos в группы pgsql и www:
pw groupmod bareos -m pgsql id pgsql pw groupmod bareos -m www id www
Выполним скрипты для создания пользователя, базы и таблиц:
su pgsql /usr/local/lib/bareos/scripts/create_bareos_database /usr/local/lib/bareos/scripts/make_bareos_tables /usr/local/lib/bareos/scripts/grant_bareos_privileges
Зайдем в PhpPgAdmin и изменим пароль для пользователя Bareos. Можно и через консоль.
Пропишем имя пользователя БД и пароль в конфиг bareos:
mcedit /usr/local/etc/bareos/bareos-dir.d/catalog/MyCatalog.conf Catalog { Name = MyCatalog dbdriver = "postgresql" #dbdriver = "XXX_REPLACE_WITH_DATABASE_DRIVER_XXX" dbname = "bareos" dbuser = "bareos" dbpassword = "bareos" }
Перезапустим демоны Bareos:
# /usr/local/etc/rc.d/bareos-dir restart # /usr/local/etc/rc.d/bareos-fd restart # /usr/local/etc/rc.d/bareos-sd restart
Создадим профиль для доступа через web:
cp /usr/local/etc/bareos-webui/bareos-dir.d/profile/webui-admin.conf /usr/local/etc/bareos/bareos-dir.d/profile/
Создадим конфигурационный файл admin.conf и наполним его следующим содержимым:
touch /usr/local/etc/bareos/bareos-dir.d/console/admin.conf cat /usr/local/etc/bareos/bareos-dir.d/console/admin.conf Console { Name = admin Password = ADMIN-PASSWORD Profile = webui-admin }
По секциям, копируем из первого конфига пароль и вставляем в остальные:
-------BAREOS-DIR-PASSWORD ---------------------- cat /usr/local/etc/bareos/bconsole.d/bconsole.conf mcedit /usr/local/etc/bareos/bareos-dir.d/director/bareos-dir.conf ------------------------------------------------- -------BAREOS-SD-PASSWORD------------------------ cat /usr/local/etc/bareos/bareos-dir.d/storage/File.conf - <написать вместо "localhost" ip адрес сервера mcedit /usr/local/etc/bareos/bareos-sd.d/director/bareos-mon.conf mcedit /usr/local/etc/bareos/bareos-sd.d/director/bareos-dir.conf ------------------------------------------------- -------BAREOS-FD-PASSWORD------------------------ cat /usr/local/etc/bareos/bareos-dir.d/client/bareos-fd.conf mcedit /usr/local/etc/bareos/bareos-fd.d/director/bareos-dir.conf ------------------------------------------------- -------BAREOS-MON-PASSWORD----------------------- cat /usr/local/etc/bareos/bareos-dir.d/console/bareos-mon.conf mcedit /usr/local/etc/bareos/bareos-fd.d/director/bareos-mon.conf -------------------------------------------------
Зайдем в веб интерфейс http://ip компа/bareos-webui
там уже будет один клиент, т.е. сам сервер и задания по резервному копированию конфигурационных файлов, выполните любое, чтобы убедится, что все в порядке, если все прошло успешно, то приступаем к установке клиента.
Имя моего компа - desktop-vrt4qkq
версия клиента 17.2 не работает под Windows 10.
Скачиваем свежий, если у вас сервер 17.2 и не используется TLS, а клиент 18.2, то TLS нужно отключить, в 18-й версии он включен по умолчанию.
http://download.bareos.org/bareos/release/17.2/windows/ http://download.bareos.org/bareos/release/18.2/windows/
Step 4. Скопировать секцию клиент. она нам пригодится.
В клиенте 18.2 по умолчанию включено шифрование.
В данной инструкции мы не рассматриваем этот вариант, поэтому отключим его.
после установки:
C:\ProgramData\Bareos\bareos-fd.d\director\bareos-dir.conf Director { ... TlsEnable = no TlsRequire = no ... }
Далее перезапустите службы или комп
С клиентом windows покончили вернемся в серверную часть:
cd /usr/local/etc/bareos/bareos-dir.d/client touch desktop-vrt4qkq-fd.conf
Вставим секцию Client из того что нам сгенерировало приложение под Windows:
mcedit desktop-vrt4qkq-fd.conf Client { Name = desktop-vrt4qkq-fd Address = 192.168.88.242 Password = "ek/X5veq4LiO6w0JGoXpVF2Hb2zeGK29lUd81Cdrgy6h" # uncomment the following if using bacula # Catalog = "MyCatalog" }
Продолжим добавление клиента:
cd /usr/local/etc/bareos/bareos-dir.d/job cp backup-bareos-fd.conf desktop-vrt4qkq.conf root@bareos:/usr/local/etc/bareos/bareos-dir.d/job # cat desktop-vrt4qkq.conf Job { Name = "desktop-vrt4qkq" JobDefs = "desktop-vrt4qkqJob" Client = "desktop-vrt4qkq-fd" }
cd /usr/local/etc/bareos/bareos-dir.d/jobdefs cp DefaultJob.conf desktop-vrt4qkqJob.conf cat desktop-vrt4qkqJob.conf JobDefs { Name = "desktop-vrt4qkqJob" Type = Backup Level = Incremental Client = desktop-vrt4qkq-fd FileSet = "Workstation" # selftest fileset (#13) Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Incremental Priority = 10 Write Bootstrap = "/var/db/bareos/%c.bsr" Full Backup Pool = Full # write Full Backups into "Full" Pool (#05) Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool (#08) Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool (#11) }
cd /usr/local/etc/bareos/bareos-dir.d/fileset cp WindowsAllDrives.conf Workstation.conf cat Workstation.conf FileSet { Name = "Workstation" Enable VSS = yes Include { Options { Signature = MD5 Drive Type = fixed IgnoreCase = yes WildFile = "[A-Z]:/pagefile.sys" WildDir = "[A-Z]:/RECYCLER" WildDir = "[A-Z]:/$RECYCLE.BIN" WildDir = "[A-Z]:/System Volume Information" Exclude = yes } File = "c:/totalcmd" - тестовая директория. } }
Отключим поддержку TLS
mcedit /usr/local/etc/bareos/bareos-dir.d/client/bareos-fd.conf Client { ... TlsEnable = no TlsRequire = no ... }
Перезапустим все это дело:
# /usr/local/etc/rc.d/bareos-dir restart # /usr/local/etc/rc.d/bareos-fd restart # /usr/local/etc/rc.d/bareos-sd restart
Вход в консоль - bconsole -c /usr/local/etc/bareos/bconsole.d/bconsole.conf
конфиг bareos в windows лежит в %ProgramData%\Bareos
Закончили. Этого достаточно для того что бы выполнить ваш 1-й Backup. остальное в документации