Загрузка backupa в облачное хранилище

Дата | 13.04.2021

Загрузка backupa в облачное хранилище
Понадобилось реализовать загрузка backupa в облачное хранилище яндекса и ovh.
2 задачи, загружать backup в резервные хранилища на яндекс облаке и облаке ovh.
Выбрал способ загрузки с помощью aws-cli.

У меня система FreeBSD, установка aws-cli такая.

cd /usr/ports/devel/awscli && make install clean

Настроим aws-cli.
Ничего сложного в настройке нет.

Допустим вы будите грузить backup под простым пользователем.

Создадим директорию у пользователя под которым будет загрузка.

% mkdir ~./aws

Теперь файл настроек локации.
Настройка через утилиту.

По умолчанию.

% aws configure

Или индивидуально.

% aws configure --profile ovh
% aws configure --profile yad

Содержания файлов:

% cat .aws/config
[default]
region = ru-central1

[profile ovh]
region = gra

Ключ default он будет относится к яндексу.
И настройка оставшегося ключа ovh.

% cat .aws/credentials
[default]
aws_access_key_id = id ключа.
aws_secret_access_key = сам ключу.

[ovh]
aws_access_key_id = id ключа.
aws_secret_access_key = сам ключу.

С пунктом endpoint-url так и не разобрался, не в какую не хотел работать если указать его в файле credentials.
Что бы избежать длинные команды.
Думаю что дело в нехватке модуля awscli_plugin_endpoin.
Либо просто в ручную создать файлы и вписать нужные данные настроек.

Теперь загрузка

aws --endpoint-url=https://storage.yandexcloud.net s3 cp --recursive /mnt/my_backup/sql s3://backup/sql/
aws --endpoint-url=https://s3.gra.cloud.ovh.net --profile ovh s3 cp --recursive /mnt/my_backup/sql s3://backup/sql/

Посмотрим содержимая директории sql в облаке.

aws --endpoint-url=https://storage.yandexcloud.net s3 ls s3://backup/sql/

Загрузка с исключением.
в --include что нужно загрузить.
в --exclude что не нужно загружать в облако.

aws --endpoint-url=https://storage.yandexcloud.net s3 cp --recursive --include "*bz" --exclude "tar.gz" /mnt/my_backup/file s3://backup/file/

Копируем файлы с облако к себе на сервер.

aws --endpoint-url=https://storage.yandexcloud.net s3 cp s3://backup/sql/10042021/my_base.sql.gz /mnt/my_base.sql.gz

Удаление.

aws --endpoint-url=https://storage.yandexcloud.net 3 rm s3://backup/file/10042021/ --recursive

Так же можно удалить файлы с исключением, как мы копировали с —exclude и —include.

Основные команды указал.
Вот и вся загрузка backupa в облачное хранилище.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *