Вновь созданное задание crontab завершается ошибкой, потому что программа не может прочитать файл .json, содержащий учетные данные в том же каталоге. Оба файла содержатся в /home/deploy/app/
папка. Crontab выполняет /home/deploy/app/app
что нужно прочитать home/deploy/app/config.json
выполнить. Программа отлично работает deploy
user, но не работает при запуске crontab.
Я уверен, что это причина, по которой программа терпит неудачу, поскольку я направил задание crontab для записи его вывода, и я вижу, что программа не может прочитать config.json
файл. В app
имеет следующие разрешения -rwxr-xr-x 1 deploy deploy
и config.json
имеет -rw-rw-r-- 1 deploy deploy
.
Запись в crontab:
10 0,6,9,12,15,18 * * * /home/deploy/gocode/bin/BuoyBot > /home/deploy/buoybot.log 2>&1
Журнал cron записывает ошибку приложения, которая указывает, что оно не может загрузить config.json
файл хранится в той же папке, что и приложение.
error loading config.json: invalid argument
Эта ошибка не возникает, если программа запускается вручную из /home/deploy/gocode/bin/
папка.
ОБНОВЛЕНИЕ: решение, предложенное ниже, заключалось в ссылке на полный путь к config.json
файл в приложении (/home/user/app/config.json
), а не ссылку на локальный каталог (config.json
).
Не видя кода, я предполагаю, что вы не указываете полный путь к своему файлу данных, когда пытаетесь его открыть.
Можете ли вы попробовать запустить cron как пользовательское развертывание следующим образом:
10 0,6,9,12,15,18 * * * deploy /home/deploy/gocode/bin/BuoyBot > /home/deploy/buoybot.log 2>&1
В качестве альтернативы вы также можете попробовать следующее:
10 0,6,9,12,15,18 * * * deploy cd /home/deploy/gocode/bin/ && ./BuoyBot > /home/deploy/buoybot.log 2>&1
Надеюсь, поможет.