вhttps://stackoverflow.com/questions/32400933/how-can-i-list-all-vhosts-in-nginxэто ответ:
grep server_name /etc/nginx/sites-enabled/* -RiI
Я не вижу обработки исключений в вашем коде. В правильно спроектированном приложении должна быть предусмотрена обработка исключений и регистрация ошибок в файле. Вы говорите, что ваш скрипт запускается, если вы удаляете части кода, а это означает, что cron выполняет его, но если возникает ошибка, у вас нет следов, и расследование затруднено. Если бы у вас был лог, возможно, вы бы уже разобрались в проблеме.
Иногда я делаю автозапуск сценария в сеансе GNU screen , чтобы после запуска я мог подключиться к экранной консоли и увидеть сценарий в действии.
Глядя на ваш код, я вижу, что у вас есть локальный экземпляр Mysql. Возможно, Mysql еще не запущен, когда запускается ваш скрипт. Может быть так просто. Многие сценарии запуска ошибочно предполагают, что сетевые или другие службы всегда будут доступны при их запуске.
Лучшим способом было бы создать собственную службу systemd для запуска этого скрипта. Это не сложно. Когда вы это сделаете, вы можете установить зависимости , например, вы можете указать, что ваша служба не должна запускаться перед службой Mysql и т. д.
Теперь я предлагаю следующие шаги: