КАК НАСТРОИТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ В ОБЛАКО MAIL.RU?
Автор:
Eugeny Nosenko
Дата публикации:
2023-02-05 14:34:15 1539
Привет, Мир!
Была у меня в прошлом неприятная ситуация. Я долго пользовался услугами 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
На этом буду заканчивать.
Всем счастливой разработки </>