Для начала необходимо установить модуль для работы с Яндекс Диском:
sudo add-apt-repository ppa:abbat/ydcmd
sudo apt update
sudo apt install ydcmd
И модуль для архивации файлов:
sudo apt install zip
После установки, необходимо авторизоваться в модуле, для этого:
1. Вводим в терминал команду: ydcmd token
2. Нам выдает ссылку, переходим по ней.
3. На сайте нажимаем разрешить, Яндекс выдаст нам код для получения токена.
4. Копируем код и возвращаемся в терминал, вставляем код.
5. Нажимаем Enter и получаем токен.
6. Переходим в домашнюю директорию и загружаем туда файл .ydcmd.cfg (https://github.com/k-orolevsk-y/auto_mysql_backup/blob/main/.ydcmd.cfg)
7. Заменяем your_token на полученный Вами токен.
8. Сохраняем файл.
9. Для того чтобы проверить, что все успешно настроилось введите команду: ydcmd stat (Вам должно выдать ~ тоже самое, что на скрине ниже)
Если Вам выдало примерно похожий результат, то поздравляю, Вы успешно авторизовались в модуле.
Теперь скачиваем файл backup.sh. Подставляем там свои данные в user & password (логин и пароль пользователя MySQL).
Попробуем тестово загрузить бекап на Яндекс Диск, для этого заупстите скрипт: sh backup.sh
Если на Яндекс Диске появилась директория mysql_dumps
, то поздравляю, все успешно работает.
Для того чтобы сервер автоматически делал бекап, настроим crontab, на запуск этого файла:
1. Вводим в терминал: crontab -e
2. Добавляем запись: 0 0,12 * * * sh %dir%/backup.sh
P.S. Замените %dir%
на директорию, в которой находится файл (например у меня это: /home/scripts/)
Если у Вас что-то не получилось, напишите мне в Telegram / VK.