27

Мини сервер для бекапов часть 2 (настройка)

Продолжение. Начало в http://pikabu.ru/story/mini_server_dlya_bekapov_chast_1_podgotovitelnaya_3854168


Итак, сервер стоит, сетевой ресурс подключен, все пользователи созданы, права настроены. Но сам по себе он ничего еще не бекапит.


Теперь стоит немного рассказать о логике работы механизма резервного копирования. Изначально все файлы, лежащие на сетевом ресурсе сравниваются с "зеркалом" лежащим на локальном диске сервера с помощью утилиты rsync. Если есть отличие в размере файла или во времени последнего изменения, то копируется более новая версия. Далее во всей красе выступает файловая система ext4 или XFS с ее механизмом жестких ссылок. Об этом чуть позже.


Чтобы обеспечить работу rsync по расписанию, создадим небольшой скрипт.


sudo nano /home/backuper/sync.sh


Данная команда покажет вам окно текстового редактора. Содержимое необходимо сделать таким:


#!/bin/bash

rsync --archive --delete --progress /mnt/nw /backup/now

cp -rval /backup/now /backup/$(date +%Y-%m-%d)/

rm -rdf /backup/$(date --date='30 days ago' +'%Y-%m-%d')


Вот такой вот простенький скрипт. Что же он делает? В первую очередь он синхронизирует сетевую папку /mnt/nw с локальной /backup/now. При этом, сохраняет все атрибуты файлов, в первую очередь, дату изменения. Если файл на сетевом ресурсе был удален, то он удаляется и в локальной папке.

Затем содержимое папки /backup/now копируется жесткими ссылками в папку /backup/"текущая дата" При этом, количество свободного места на диске практически не уменьшается, именно за счет использования жестких ссылок. Файлы, удаленные сегодня, в предыдущих копиях остаются, пока не будет удалена последняя ссылка на них. Файлы, измененные сегодня удаляются в текущей копии и копируются заново, таким образом, предыдущие версии файлов остаются в сохранности все время жизни архивных копий.

Последняя строка удаляет папку с названием, содержащим текущую дату - 30 дней. То есть, мы имеем 30 ежедневных копий, к каждой из которых можно откатиться. При этом, места занимается сравнительно мало, так как все эти папки содержат лишь массив жестких ссылок на файлы. Файл в архивной копии удаляется только тогда, когда удаляется последняя ссылка на него. Ессно, что архивации и сжатия никакого не используется, что в случае ЧП дает нам очень оперативный доступ ко всем данным.


Осталось дело за малым, настроить работу этого скрипта по расписанию. Для этого, в линуксе есть очень хороший инструмент cron.

Вызовем консоль пользователя backuper


sudo -u backuper -sH


И начнем настраивать наш cron


crontab -e


При первом запуске, система спросит, какой редактор использовать. Лично я предпочитаю nano.


В конфигурационном файле пропишем следущее:


SHELL=/bin/bash

MAILTO=backuper

HOME=/home/backuper

0 23 * * * /home/backuper/sync.sh


Последнюю строку в конфигурации необходимо оставить пустой.


Вот и все. Ежедневно в 23:00 будет запускаться наш скрипт, сравнивать сетевой ресурс с локальной папкой, копировать при необходимости измененные и добавленные файлы и удалять архивные копии старше 30 дней. При этом, никаких сетевых ресурсов на нашем сервере извне не видно, никакие трояны и шаловливые руки не имеют доступа к архивным данным. А восстановление производится на сервере, путем копирования необходимых данных из нужной локальной папки в подключенную сетевую шару.

Мини сервер для бекапов часть 2 (настройка)

Вот пример того, что хранится в моей папке с бекапами. Одна копия весит примерно 100 ГБ, все вместе занимает чуть более 120. И это без какого-либо сжатия.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества