В начало блога На главную

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

Резервное копирование данных — один из важнейших моментов в администрировании. По понятным причинам, всегда нужно иметь копию данных, откуда при необходимости можно восстановить утраченное. Если говорить о вариантах резервного копирования в ubuntu либо других linux операционных системах, то проще и надежнее всего воспользоваться штатным функционалом и быстрым архиватором.

Для начала нужно установить, если его нет, архиватор 7z — бесплатный и быстрый, а так же cifs-utils позволяющие примонтировать сетевую папку, куда будут складываться резервные копии.

sudo apt-get update
sudo apt-get install cifs-utils p7zip-rar p7zip-full

Если бекапы складываются не на сетевой диск (в моем примере //comp2/BackUp/), то cifs не нужно. Хотя лучше хранить резервные копии на другом, отдельном хранилище. Далее нужно создать каталог куда будет монтироваться сетевой диск:

sudo mkdir /mnt/backup

Подключить сетевой диск //comp2/BackUp/ в каталог /mnt/backup из-под определенного логина и пароля:

sudo mount -t cifs -o iocharset=utf8,username=user,password=123,rw //comp2/BackUp/ /mnt/backup

Создается резервная копия указанного каталога /media/hdd/documents в виде архива с именем documents_текущая дата

sudo 7za a -t7z -m0=lzma2 -mx=9 /mnt/backup/documents_date +%F--%H-%M.7z /media/hdd/documents

После завершения отключается сетевой диск

sudo umount /mnt/backup

Все вышеперечисленные строки нужно прописать в исполняемый файл, например /etc/backup_script.sh, добавить обозначение первой строкой:

sudo touch /etc/backup_script.sh
sudo chmod +x /etc/backup_script.sh
sudo vi /etc/backup_script.sh

#!/bin/sh
sudo mount -t cifs -o iocharset=utf8,username=user,password=123,rw //comp2/BackUp/ /mnt/backup
sudo 7za a -t7z -m0=lzma2 -mx=9 /mnt/backup/documents_date +%F--%H-%M.7z /media/hdd/documents
sudo umount /mnt/backup

И наконец, нужно добавить выполнение скрипта в расписание планировщика crontab, добавив в конец строку:

sudo crontab -e
# m h dom mon dow command
0 5 * * * /etc/backup_script.sh

Перезагрузить планировщик. На этом все.

sudo service cron restart

Рассказать: