Какое-то время назад, я искал небольшое хранилище (в пределах несколько Гб) для хранения некоторых резервных копий со своих VPS. Ранее это был AWS S3, потом дешевый VPS, даже был Yandex Disk и тут мне попалось Alibaba OSS (cloud object storage service), было решено его затестить, с условием того, что 5Гб дается бесплатно (в моем случае это было прям в точку).
Про регистрацию не буду рассказывать, кратко расскажу создание бакета, получение ключа и настройке клиента при помощи которого будет производиться синхронизация.
Собственно букет настраивается здесь - https://www.alibabacloud.com/product/oss (офф овервью) далее необходимо сгенерировать access key:
После получения ключа, необходимо скачать клиент при помощи которого будет производиться синхронизация, в моем случае это MinIO, установка которого в Linux производится несколькими командами:
wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc ./mc --help
Далее:
mv ./mc /usr/bin/mc
Далее настраиваем клиент, при этом указываем его полученный ранее access key:
mc config host add oss OSS_Endpoint OSS_ACCESS_KEY OSS_SECRET_KEY
OSS_Endpoint
можно найти на странице своего бакета. Если подключение произошло правильно, можно посмотреть свой бакет так:
mc ls oss/
Конфиг mc можно посмотреть в файле ~/.mc/config.json
Далее для удобства можно написать небольшой bash скрипт, которому можно будет передавать аргументами, что и куда синхронизировать:
#!/bin/bash
# Created by Yevgeniy Goncharov, https://sys-adm.in
# minio backup script # Sys env / paths / etc
PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# Vars
SRC=$1 DEST=$2
# Actions
/usr/bin/mc --json --quiet mirror --remove $SRC $DEST
Делаем скрипт исполняемым:
chmod +x mc-backup.sh
Создаем каталог для локальных бэкапов, например mybackups (или берем каталог который нужно синхронизировать в облаке) Пробуем:
mc-backup.sh /mybackups/ oss/backups
Если все работает, создаем задачу в cron, например так:
30 01 * * * /path/to/script/mc-backup.sh /mybackups/ oss/backups