Скрипт резервного копирования MikroTik

В этой статье я приведу пример скрипта для резервного копирования конфигурации MikroTik устройств.

Читать далее «Скрипт резервного копирования MikroTik»

Скрипт резервного копирования Cisco Nexus 3064

Приведу пример скрипта для резервного копирования конфигурации Cisco Nexus 3064 и подобным.

Читать далее «Скрипт резервного копирования Cisco Nexus 3064»

Установка и использование Duplicity

Приведу пример установки и использования Duplicity. Создания полных и инкрементных резервных копий на локальный и удаленный сервер.

Читать далее «Установка и использование Duplicity»

Резервное копирование Windows Server 2008 R2

Для примера сделаю резервную копию Windows Server 2008 R2 и опишу процесс по пунктам:

1) Откроем «Диспетчер сервера (Server Manager)».

2) Выберем «Компоненты (Features)» — «Добавить компоненты (Add Features)», ставим галочки напротив «Система архивации данных Windows Server (Windows Server Backup)» и «Программы командной строки (Command-line Tools)», нажимаем кнопку «Установить (Install)» и ждем завершения установки.

3) Открываем меню «Пуск (Start)» и выберем «Система архивации данных Windows Server (Windows Server Backup)».
Для теста я нажал «Однократная архивация (Backup Once)», в появившемся окне выберем тип конфигурации «Настраиваемый (Custom)» и отметил галочками диск C и все кроме остальных локальных дисков если они есть (например диск D), в следующем окне можно выбрать тип хранилища куда будет записана резервная копия, например «Локальные диски» и указать диск D, либо «Удаленная общая папка (Remote shared folder) и указать путь, у меня как раз была запущена Samba на одном из Linux серверов, поэтому я подключил сетевую папку и выбрал этот вариант.
Смотрите также мою статью — Установка и настройка Samba в Linux

После завершения процесса на диске или сетевой общей папке появится папка «WindowsImageBackup» с резервной копией.

Для восстановления системы с этой резервной копии можно аналогично нажать меню «Пуск (Start)» — «Система архивации данных Windows Server (Windows Server Backup)» и выбрать эту резервную копию, либо если сервер не запускается, то запустить загрузочный диск с Windows, выбрать «Восстановление системы» и указать эту резервную копию.

Настройка репликации в MySQL

На тесте выполню настройку репликации в MySQL.

Допустим имеется два сервера с установленной системой Ubuntu Server, на обеих установим MySQL сервер и клиент, если они не установлены:

Читать далее «Настройка репликации в MySQL»

Установка и настройка fsbackup

Для теста установлю fsbackup в Ubuntu Server и Debian.

Переключимся на root пользователя:
su

Скачаем архив с fsbackup и распакуем его:

cd /tmp
wget https://www.opennet.ru/dev/fsbackup/src/fsbackup-1.2pl2.tar.gz
tar -xvzf ./fsbackup-1.2pl2.tar.gz

Читать далее «Установка и настройка fsbackup»

Резервное копирование Redmine

Создадим скрипт (в текстовом редакторе nano Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/cron.daily/redmine

Пример содержимого скрипта:

#!/bin/sh
/usr/bin/mysqldump -u root -p<password> redmine_default | gzip > /path/to/backups/redmine_db_`date +%y_%m_%d`.gz
rsync -a /var/lib/redmine/default/files /path/to/backups/files

Сделаем скрипт исполняемым:

chmod +x /etc/cron.daily/redmine

В скрипте можно также добавить команду удаления старых файлов или директории, чтобы не возникло переполнения диска, подробнее смотрите мою статью — Скрипт удаления старых файлов

Смотрите также прочие мои статьи о резервном копировании — Резервное копирование

Установка и настройка Bacula-Web

Bacula-Web — веб-инструмент для создания отчетов и мониторинга Bacula.

Установим необходимые компоненты:

sudo apt-get install apache2 libapache2-mod-php5 php5-mysql php5-gd
sudo a2enmod php5
sudo a2enmod rewrite

Откроем в редакторе файл конфигурации PHP и укажем временную зону:

sudo nano /etc/php5/apache2/php.ini
date.timezone = Europe/Kiev

А также для директории с Bacula-Web укажем опцию:

sudo nano /etc/apache2/sites-enabled/000-default.conf
<Directory /var/www/html/bacula-web>
AllowOverride All
</Directory>

Перезапустим apache2 чтобы применить изменения:

sudo service apache2 restart

Перейдем в директорию веб-сервера, скачаем архив с последней версией Bacula-web и распакуем его:

cd /var/www/html
curl -O http://www.bacula-web.org/files/bacula-web.org/downloads/bacula-web-latest.tgz
mkdir -v /var/www/html/bacula-web
tar -xzf bacula-web-latest.tgz -C /var/www/html/bacula-web

Сделаем копию примера файла конфигурации и откроем его например в текстовом редакторе nano:

cd /var/www/html/bacula-web/application/config
cp -v config.php.sample config.php
sudo nano /var/www/html/bacula-web/application/config/config.php

Раскомментируем и настроим MySQL параметры:

$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'localhost';
$config[0]['login'] = 'bacula';
$config[0]['password'] = 'test';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';

Так как некоторые команды выполняли через sudo, то укажем правильного владельца файлам:

sudo chown -R www-data:www-data /var/www/html/bacula-web

На этом установка завершена, можно открывать Bacula-Web по ссылке http://SERVER/bacula-web, а также желательно посмотреть тестовую страницу http://SERVER/bacula-web/test.php которая сообщит все ли необходимые компоненты установлены и настроены.

Смотрите также:
Установка и настройка Bacula

Установка и настройка Bacula

Bacula — набор программ клиент-сервер для управления резервным копированием.
Состоит из компонентов Director Daemon (DD), Storage Daemon (SD), File Daemon (FD) и консоли администратора Bacula Console (BC).

Для установки в Ubuntu/Debian выполним:

sudo apt-get install bacula

В процессе установки будет запрошен пароль root пользователя MySQL и создана база данных, а также установлен Postfix.

Создадим директории и установим права:

sudo mkdir -p /bacula/backup /bacula/restore
sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula

Откроем файл конфигурации DD, например в текстовом редакторе nano:

sudo nano /etc/bacula/bacula-dir.conf

Найдем «Standard Restore template» и там где Where изменим путь:

Job {
Name = "RestoreFiles"
Type = Restore
Client=Blank-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /bacula/restore
}

Далее найдем «List of files to be backed up» и чуть ниже где «File =» укажем что именно нужно копировать в резервную копию.

Ненужные директории можно исключить, добавив например:

Exclude {
File = /bacula
File = /proc
File = /tmp
}

Откроем файл конфигурации SD:

sudo nano /etc/bacula/bacula-sd.conf

Найдем «Devices supported by this Storage daemon» и укажем в «Archive Device =» где хранить резервные копии, например:

Archive Device = /bacula/backup

Протестируем правильность конфигурации:

sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
sudo bacula-sd -tc /etc/bacula/bacula-sd.conf

Если команды ничего не сообщили, значит все хорошо и ошибок нет.

Перезапустим сервисы bacula чтобы применить изменения в конфигурации:

sudo service bacula-sd restart
sudo service bacula-director restart

Проверим все ли три сервиса запущено:

netstat -nlpt | grep [b]acula

Откроем консоль bacula:

sudo bconsole

Проверим статус:

status

Наберем команду:

label

и укажем имя резервной копии, потом укажем 2 что это файл.

Запустим наш настроенный процесс резервного копирования (выберем 1 и yes):

run

Посмотреть сообщения о успешном выполнении:

messages

Выйдем из консоли bacula:

quit

В директории /bacula/backup должен появится файл с резервной копией.

Смотрите также:
Установка и настройка Bacula-Web

Резервное копирование конфигурации TP-Link коммутаторов

Набросал скрипт для резервного копирования конфигурации TP-Link коммутаторов.
Скрипт выполняется на Linux где запущен TFTP сервер, он подключается по telnet к коммутатору и специальной командой конфигурация отправляется на указанный TFTP, по закрытию telnet соединения, файл перемещается в нужную директорию, а также последняя команда удаляет файлы которым больше 30 дней, так как больше их хранить мне не нужно.
Также можно ежемесячно делать например копию всех файлов в облако.
Как видно, перед вводом пароля в скрипте ставить паузу нельзя.

#!/bin/bash
{
echo "ПАРОЛЬ";
echo "enable";
echo "ПАРОЛЬ";
echo "copy startup-config tftp ip-address 192.168.0.5 filename tplink";
sleep 2;
echo "exit";
sleep 1;
echo "exit";
} | telnet 192.168.0.110

mv /srv/tftp/tplink.cfg /backups/devices/tplink/`date +%Y-%m-%d`_tplink.cfg
find /backups/devices/tplink/ -type f -mtime +30 -exec rm {} \;