Настройка бекап на B2
https://www.backblaze.com/
Создайте аккаунт в системе https://www.backblaze.com/
Активируйте B2 cloud storage для этого: Войдите в аккаунт -> My Settings -> Enabled Products -> [+] B2 Cloud Storage
Создаем basket куда будем сохранять:
После нужно создать App key который сможет только делать запись без возможности удалять уже созданный бекап к сожалению через панель это сделать не получится поэтому мы сделали готовый скрипт который умеет создавать безопасный ключ через API backblaze) Для этого необходимо:
Клонировать репо:
cd /root/ git clone https://gitlab.com/BoxExchanger-public/b2-backups.git
Перейти в папку с проектом:
cd b2-backups
Установить пакеты:
npm i
Получить Master KEY (после создания нужно сменить)
Создать ключ:
npm run new-key
B2 application key ID: keyID полученный на предыдущем шаге B2 application key: applicationKey полученный на предыдущем шаге
B2 buckets ID: Buckets -> Your bucket -> Bucket ID
Копируем полученные ключи для установки их на нашем сервере. (временно сохраняем их у себя в текстовом файле)
Пересоздаем ключ полученный на 4.4 шаге для того чтоб старый был более не доступен (копировать его уже не нужно)
Установить rclone на сервер.
Установить полученные ключи на сервер для этого используем следующие команды:
rclone config
Далее нас запросит ответить на вопросы:
e/n/d/r/c/s/q> n name> b2 Storage> 5 account> (App Key Id c шага 4.6) key> (App Key c шага 4.6)
Конфигурируем
backup.sh
для правильного создания бекап и уведомления администратора.cd /root/b2-backups nano backup.sh
Конфигурируем блок
# -- Configuration --
# rclone remote name. RCLONE_REMOTE="b2" # b2 bucket name. B2_BUCKET="name-project" # Telegram Bot Token BOT_TOKEN="1234567890:ABCDEF1234567890ABCDEF1234567890ABC" # (list) of Telegram Chat IDs. # e.g: CHAT_IDS=("1234567890" "0987654321") CHAT_IDS=("1234567890")
Описание конфигураций: RCLONE_REMOTE - имя конфигурации rclone (6 шаг указали как name> b2) B2_BUCKET - имя корзины в BackBlaze (3 шаг) BOT_TOKEN - Токен телеграм бота полученный в @BotFather в котором вы нажали кнопку /start CHAT_IDS - ид клиентов telegram которые должны получать уведомление о бекап статусе получить свой ид можно в телеграм боте @myidbot
Даем права на запуск bash-script файлу
backup.sh
chmod +x backup.sh
Если скрипт выполнил работу верно последняя строка будет:
Backup completed successfully.
Также в .телеграм вам должно прийти сообщение:📦 Backup on
hostname
completed successfully.
Проверяем работу бекап скрипта
./root/b2-backups/backup.sh
Устанавливаем авто бекап по крону (в примере каждый день в 4 ночи по времени сервера обычно по GMT)
(crontab -l; echo "0 */4 * * * bash /root/b2-backups/backup.sh >> /tmp/bk.log 2>&1") | crontab -
Last updated
Was this helpful?