Сборка wine выполняется достаточно долго. Это может привести к тому, что первый скрипт ещё не закончил свою работу, а крон запускает уже второй. Возможные проблемы: 1) git pull делается до проверки почты. У нас уже запущен первый экземпляр, который работает с репозиториями, а в это время запускается второй, который обновляет эти репозитории 2) Неразборчивые логи. В середине лога от первого экземпляра вдруг появляется лог второго экземпляра. Хорошо бы запретить запуск второго экземпляра скрипта
Стандартных решений нет. Кроссплатформенность не получится. Из существующих решений самым лучшим думаю будет создание временного файла (путь должен быть прописан в конфиге). При запуске программы надо проверять существование этого файла. Возможно возникнут проблемы при неправильном завершении. В этом случае придётся удалять файл вручную
> > Из существующих решений самым лучшим думаю будет создание временного > файла (путь должен быть прописан в конфиге). При запуске программы надо > проверять существование этого файла. > Сделал. Для проверки написал тестовый скрипт. Как это работает на "живой" системе узнаем только при запуске через cron. Сейчас при повторном запуске выводится сообщение "Already running". Скорее всего cron пришлёт его по по почте в случае запуска второго экземпляра приложения.