Следите за нами!
Получите ключ аккаунта - YANDEX TOKEN
Если не сработает по YANDEX TOKEN:
1. Перейдите по ссылке: https://id.yandex.ru/security/app-passwords (Вам может потребоваться снова войти в аккаунт).
2. Нажмите кнопку "Создать пароль" (или "+" / "Добавить").
3. В поле "Для какого приложения" выберите "Почта" (или просто напишите название, например "Laravel Backup" — разницы нет, WebDAV воспринимает их одинаково).
4. Нажмите "Создать".
5. Скопируйте полученный код (он будет выглядеть как набор случайных букв и цифр, обычно 16 символов, например: xk9d...2ab).
Настройка конфига .ENV:
YANDEX_DISK_PASSWORD=пароль приложения
(Если не срабатывает YANDEX_DISK TOKEN поставьте #YANDEX_DISK_TOKEN=0
YANDEX_DISK_TOKEN=ваш_очень_длинный_токен
YANDEX_DISK_LOGIN=ваш_email_или_логин_яндекса
Инструкция дополнительная:
Установите пакет Guzzle (Если у вас его нет)
- Выполните команду : composer require guzzlehttp/guzzle
- Создание команды: php artisan make:command BackupToYandexDisk
- Замените файлом из архива в папке /app/Console/Commands/
- Настройте файл BackupToYandexDisk.php - backupFolder = 'Укажите свой путь до папки созданной в яндекс диске';
- Залейте из архива в папку storage : backups
- Выдайте права на папку backups - 777
Важно: Бэкапы хранятся дополнительно в /storage/backups
Настройка cron'a:
Чтобы планировщик Laravel работал, нужно добавить одну строку в crontab вашего сервера.
Выполните в консоли сервера: crontab -e
Добавьте строку (замените пути на ваши): * * * * * cd /путь/к/вашему/проекту && php artisan schedule:run >> /dev/null 2>&1
Чтобы проверить, не дожидаясь ночи, выполните команду вручную: php artisan backup:yandex
Важные примечания:
1. Убедитесь, что на сервере установлен mysqldump (обычно идет вместе с mysql-server или mariadb-server).
2. Если база данных очень большая, скрипт может выполняться долго. Поставлен тайм-аут 300 секунд, при необходимости увеличьте его в коде (setTimeout).
Нет комментариев.Оставишь комментарий?