Пример настройки резервного копирования по расписанию
Цель настройки
Создать скрипт, который будет регулярно запускать консольный клиент, архивировать и переносить важные данные в объектное хранилище.
Что нужно для настройки
- консольный клиент (в примере S3cmd с инструментом для автоматизации crontab);
- облачный или выделенный сервер с установленной Ubuntu версии не ниже 18.04;
- пользователь с доступом в объектное хранилище.
Результат настройки
Скрипт создаст резервную копию файла или каталога с помощью tar и загрузит резервную копию в объектное хранилище с помощью s3cmd.
Шаги настройки
- Создайте скрипт.
- Перенесите файлы в объектное хранилище.
- Настроить управление потоком.
- Проверьте скрипт.
- Опционально: автоматизируйте резервное копирование через crontab или Cyberduck.
1. Создать скрипт
-
Откройте на своем сер вере домашнюю директорию:
cd ~
-
С помощью редактора nano создайте пустой файл (например, с именем
bkupscript
):nano bkupscript.sh
-
Начните писать скрипт резервного копирования в текстовом редакторе с шебанга:
#!/bin/bash
Шебанг — это директива интерпретатора, которая позволяет запускать скрипты или файлы данных как команды и выглядит как последовательность из двух символов:
#
и!
. Благодаря шебангу в начале скрипта оболочка запускает команды файла в bash. -
Под шебангом в верхней части текстового файла добавьте в скрипт переменные:
#!/bin/bash
DATETIME=`date +%y%m%d-%H_%M_%S`
SRC=$1
DST=$2
GIVENNAME=$3Здесь:
DATETIME
— метка времени, которую нужно прикрепить к имени полученного файла. Каждый файл, резервная копия которого хранится в пространстве, будет иметь уникальное имя. Эта временная метка создается путем вызова командыdate
и форматирования вывода для отображения двух последних цифр года (% y
), двух цифр месяца (% m
), двух цифр дня (% d
), час (% H
), минуты (% M
) и секунды (% S
);SRC
— исходный путь для файла или папки, в которую делается резервная копия.$1
указывает, что значение берется из первого параметра, переданного скрипту;DST