1) отправить сайт в режим обслуживания, т.е. php artisan down 2) а потом через некоторое время его поднять, т.к. php artisan up
а в момент нахождения в режим обслуживания я планировал запустить backup базы данных
у меня есть два решения:
1) это настроить в crontab 2-е задачи одна на 3:00 отключить, и 3:10 включить 2) можно попробовать это сделать через php artisan:schedulе, т.е. добавить аналогичные задачи в приложение (предварительно разрешив им выполнение даже в режиме обслуживания)
может есть еще более безопасный способ P.S. "безопасный" имеется виду чтоб точно в назначенное время приложение было выведено из режима обслуживания
в данный момент если не блокировать на сохранение уходит порядка 8 минут, а вот если блокирнуть, то будет быстрее в разу (нет совместных блокировок на уровне базы, да и целостность backup не страдает) и пользователи не будут страдать (мы можем себе позволить "отдохнуть" минут 10) от торможения сайта
целостность backup, торможение клиентов, т.к. транзакции страдают и им, пока идет backup, очень больно (отваливаются пот timeout) до держать реплику пока не доросли, она бы решила в данном случае вопрос на ура, но пока нет
Если именно важна атомарность бэкапа (на нагрузке это почти утопия) - останавливаете реплику, делает снапшот, запускаете реплику. Все это автоматизируется