КАК НАСТРОИТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ В ОБЛАКО MAIL.RU?

Автор: Eugeny Nosenko
Дата публикации: 2023-02-05 14:34:15   1539


КАК НАСТРОИТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ В ОБЛАКО MAIL.RU?

Привет, Мир!

Была у меня в прошлом неприятная ситуация. Я долго пользовался услугами MemVDS. Проблем не было. Но вот однажды я получил уведомление, что мой сайт недоступен.

Как оказалось MemVDS просто решили закрыться :-) А вместе с ними и мой сайт. Я не могу сказать что там было много важной информации, но несколько статей я потерял. И тогда я понял что мне нужно делать беккапы. И это должен быть максимально простой и бесплатный способ.

Я начал изучать...

Облако Mail.ru поддерживает WebDAV. Решение было найдено pbmedia/laravel-webdav + spatie/laravel-backup.

WebDAV (Web Distributed Authoring and Versioning) — это протокол для передачи данных и работы с ними, построенный поверх HTTP 1.1.

Процесс настройки и установки очень простой

$ composer require pbmedia/laravel-webdav
$ composer require spatie/laravel-backup
$ php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

После этого в файле config/filesystems.php нужно добавить новый диск

  'webdav' => [
	            'driver' => 'webdav',
	            'baseUri' => env('WEBDAV_SERVER', ''), // https://webdav.cloud.mail.ru
	            'userName' => env('WEBDAV_USER', ''), // test@mail.ru
	            'password' => env('WEBDAV_PASSWORD', ''), // Пароль для внешнего приложения
	            'pathPrefix' => env('WEBDAV_PATH', '/backups'), // optional
	            'authType' => 1,
	        ]

Пароль нужно сгенерировать в интерфейсе mail.ru. Инструкция https://help.mail.ru/cloud_web/app/webdav.

В файле config/backup.php нужно прописать диск webdav в двух местах

И последнее добавить автозапуск команды в файле app/Console/Kernel.php

protected function schedule(Schedule $schedule)
	    {
	        ...
	        $schedule->command('backup:run')->daily();

Все готово!

Важно: на сервере должен быть настроен Laravel Scheduler https://laravel.com/docs/9.x/scheduling#running-the-scheduler и отправка email.

Если все настроено верно, то раз в сутки будет прилетать письмо о том как все прошло.


В моем случае все прошло успешно.

Так же можно настроить уведомления в телеграм или любой другой канал.

Я думаю это хорошее решение для домашнего сайта. У меня например копируются только картинки и БД. Подробнее можно узнать в документации пакета spatie/laravel-backup

На этом буду заканчивать.

Всем счастливой разработки </>



Оставить комментарий:
Имя:
Комментарий: