Skip to content

k-orolevsk-y/auto_mysql_backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Автоматическое резервное копирование баз данных из MySQL на Яндекс Диск

Для начала необходимо установить модуль для работы с Яндекс Диском:

sudo add-apt-repository ppa:abbat/ydcmd
sudo apt update
sudo apt install ydcmd

И модуль для архивации файлов:

sudo apt install zip

После установки, необходимо авторизоваться в модуле, для этого:

  1. Вводим в терминал команду: ydcmd token
  2. Нам выдает ссылку, переходим по ней.
  3. На сайте нажимаем разрешить, Яндекс выдаст нам код для получения токена.

image

  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 (Вам должно выдать ~ тоже самое, что на скрине ниже)

image

Если Вам выдало примерно похожий результат, то поздравляю, Вы успешно авторизовались в модуле.


Теперь скачиваем файл 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.

About

Automatic database backup (mysql) to disk.yandex.ru

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages