У нас уже установлен Ubuntu Server 16.04 и Mysql-Server 5.7 и настроенна сетевая папка NFS

Для хранения резервных копий у нас будет использоваться сетевая папка расположенная на NAS хранилище Synology c ip адресом 192.168.20.22

У меня настроена служба NFS на сервере NAS Synology, поэтому я буду подключать сетевой диск при помощи NFS

Заходим по ssh на наш Ubuntu Server

Создадим папку для подключения

# sudo mkdir /media/data

отредактируем fstab

# sudo nano /etc/fstab

добавим в конец строчку

# 192.168.20.22:/volume1/Backup/sql /media/data/ nfs rsize=8192,wsize=8192,timeo=14,intr

сохраним и выйдем ctrl+x ответим Y

подключим наш диск

# sudo mount -a

дальше скачаем замечательный скрипт

# git clone https://gist.github.com/allebb/5d5f42db8ac78fc488ea25a0e5d4a051

перейдем в скаченую папку

# cd 5d5f42db8ac78fc488ea25a0e5d4a051

Переименуем и переместим наш скрипт

# mv mssqlbackup /home/mssqlbackup.sh

Перейдем в домашний каталог

# cd /home

проверим скопировался ли наш файл

# ls

mssqlbackup.sh

далее отредактируем его

# nano mssqlbackup.sh

Изменим строки

MSSQL_HOST="localhost"              #Оставим без изменения
BACKUP_DIR="/media/data"          #Директория с нашими бэкапами, укажем папку подключенную ранее
BACKUP_DAYS=7                         #Количество дней для хранения бэкапов
MSSQL_USER="sa"                       #Пользователь sa
MSSQL_PASS="pass123"               #Пароль пользователя sa

сохраним и выйдем ctrl+x ответим Y

Проверим работу скрипта

# sh mssqlbackup.sh

Вы должны увидеть архивацию всех баз на сервере, так же они должны появиться в указанном каталоге /media/data

Starting MSSQL backup with the following conditions:
Backup to: /media/data
Backup timestamp: 20200728-180055
Keep backups for 7 days

MSSQL Server: localhost
MSSQL User: sa
MSSQL Password: **HIDDEN**

Starting backups...
- Backing up database "base"... 10 percent processed.
20 percent processed.
30 percent processed.
40 percent processed.
50 percent processed.
60 percent processed.
70 percent processed.
80 percent processed.
90 percent processed.
Processed 1335320 pages for database 'base', file 'base' on file 1.
100 percent processed.
Processed 38 pages for database 'base', file 'base_log' on file 1.
BACKUP DATABASE successfully processed 1335358 pages in 200.543 seconds (52.021 MB/sec).
Done!

Настроим автоматический запуск скрипта по расписанию при помощи cron

# crontab -e

Добавим в конец строчку, запускать скрипт в 3 часа ночи

0 3 * * * /bin/sh /home/mssqlbackup.sh

сохраним и выйдем ctrl+x ответим Y

На этом настройка ежедневного резервного копирования в сетевую папку наших баз MSSQL закончена.

Предыдущая запись Следующая запись

Поделитесь ссылкой