Разрешения Crond

У меня проблема с разрешениями на сервере CentOS.

Я создал приложение NetCore, которое считывает некоторые значения из dmidecode. Когда я развернул приложение на своем сервере CentOS, я выполнил следующую команду:

chmod 777 ApplicationName

Затем я выполняю ее, и все работает нормально.

Моя проблема заключается в том, что я пытаюсь установить это приложение в crond, для этого я делаю следующее:

1) service crond stop

2) crontab -e

3) * * * * * cd /ApplicationFolder && ./ApplicationName

4) service crond start

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

Я попытался установить пользователя в строке crond, выполнив:

 * * * * * root cd /ApplicationFolder && ./ApplicationName

Но ничего не происходит, приложение даже не запускается ...

Кто-нибудь знает, что я делаю неправильно?

EDIT

Как было предложено в комментариях, я изменил crontab на:

 * * * * * /ApplicationFolder/ApplicationName

Но происходит то же самое ...

Причина, по которой я думаю, что у меня проблема, связанная с разрешениями, заключается в том, что если я запускаю программу как значения приложения записываются в текстовый файл, а когда я запускаю приложение с помощью crond, в журнал записывается та же информация, но значения пусты.

Я также читал, что при чтении серийных номеров из dmidecode нам потребуются привилегии root, но моя текущая учетная запись, использующая crontab, уже является учетной записью root.

0
01.09.2017, 16:23
1 ответ

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

Кажется, у cron есть проблемы с относительными путями...

Обычно вместо:

 dmidecode

У меня есть:

 /usr/sbin/dmidecode

Это помогло мне.

0
28.01.2020, 04:40

Теги

Похожие вопросы