Результаты задания Cron отличаются от выполнения из собственной оболочки

Я использую Ubuntu 12.0.4 У меня есть сценарий в основном со следующими кодами:

lockfile=/var/tmp/mylock if ( set -o noclobber; echo "$$" > "$lockfile") 2> /dev/null; then exit_normally "instance is running" else echo "no instance is running" fi 

Файл / var / tmp / mylock не существует в моей системе, поэтому, когда я запускаю свой скрипт вручную, я получаю «no instance is running», что является правильным.

Но когда скрипт оболочки выполняется cron, он всегда возвращает «экземпляр работает»,

Я не уверен, где проверить или что искать, чтобы найти первопричину проблемы выше, надеюсь, я могу получить несколько указателей здесь.

  • Как я могу заставить sudo crontab -e использовать среду `sudoedit`?
  • Как я могу гарантировать, что мой cronjob будет работать в указанное время?
  • Почему crontab не хранится в домашних каталогах пользователей?
  • Кто начинает автоматические обновления?
  • Использование nano для редактирования crontab
  • Как использовать статус выхода в crontab
  • crontab: установка нового crontab - путь слишком длинный
  • Тело нулевого сообщения; надеюсь, что все в порядке
  • One Solution collect form web for “Результаты задания Cron отличаются от выполнения из собственной оболочки”

    Как правило, создание файла и ожидание того, что ОС не сбивает его, если оно существует, не является хорошим способом проверить, существует ли он.

    Вам лучше поработать с:

     if [ -f $lockfile ]; then exit_normally "instance is running" else echo "no instance is running" fi 

    Однако, если вы пытаетесь использовать существование файла в качестве файла блокировки, вам, вероятно, будет лучше использовать команду unix lockfile:

     lockfile -r 0 $lockfile if [ $? -ne 0 ]; then exit_normally "instance is running" else echo "no instance is running" fi 
    Interesting Posts

    xsession-errors на linux mint 17.2. Не найдено решений по подобным вопросам

    Найти входящие символические ссылки

    Сохраняйте только первую строку из каждой последовательности последовательных строк, соответствующих шаблону

    Невозможно запустить ZNC как услугу

    Подтвердить перед выходом из командной строки

    Как перечислить все текущие сетевые подключения для данного PID?

    Поиск всех файлов, содержащих слово, а затем подсчет количества строк

    Является ли flock & exec безопасным в bash?

    Низкое время автономной работы под Linux Mint 18 Cinnamon 'Sarah'

    Инструмент для создания только встроенного исходного кода

    Как systemd обрабатывает смерть ребенка управляемого процесса?

    lxc: запуск виртуального бокса внутри контейнера

    Как развернуть абзацы с помощью sed

    grep print относительный путь к файлу при выполнении рекурсивного поиска

    Как проверить, обрезаны ли аудиофайлы без воспроизведения файла?

    Linux и Unix - лучшая ОС в мире.