crontab не выполняет команды должным образом - PullRequest
0 голосов
/ 12 февраля 2020

Существует команда приложения под названием 'HM17.5', расположенная по адресу /tool/SITE/HM17.5

. Что я хочу: я хочу выполнять это приложение каждое утро в 9:00 с новым терминалом fre sh. Причиной выполнения на терминале является то, что я также вижу журнал, если что-то печатается на терминале во время работы в приложении.

Вот несколько попыток, которые я дал до сих пор


Попробуйте 1: crontab -e > * * * * * HM17.5

Ошибка - команда HM17.5 не найдена.


Попробуйте 2: crontab -e > * * * * * /tool/SITE/HM17.5

Ошибка - / tool / SITE / HM17 .5 команда не найдена.


Попробуйте 3: crontab -e > * * * * * /bin/mate-terminal --command HM17.5

Ошибка - / bin / sh: / bin / matte-terminal: нет такого файла или каталога


Попробуйте 4: crontab -e > * * * * * /bin/mate-terminal --command "HM17.5"

Ошибка - не удалось проанализировать аргументы: не удается открыть дисплей:


Попробуйте 5: crontab -e > * * * * * DISPLAY=:0 /bin/mate-terminal --command "HM17.5"

Ошибка - он открывает терминал, но выдает ошибку HM17.5 без файла или каталога

Примечание: Точно, что я хочу, но наполовину сделано, по крайней мере, это открывает новый терминал, но снова не в состоянии выполнить команду

1 Ответ

0 голосов
/ 12 февраля 2020

Вы не можете запустить терминал в cron так, как пытаетесь. Но если приложению не нужен графический интерфейс, вы можете запустить команду, перенаправляющую STDOUT и STDERR, чтобы указать c журналы и из этих журналов, чтобы отслеживать, что происходит с выполнением.

Для этого вам нужно иметь путь к исполняемый файл этого программного обеспечения. И запись cron будет выглядеть так:

0 9 * * * /tool/SITE/HM17.5/your_executable_file >/path/to/log 2>/path/ro/errorlog

в вашем скрипте, который вы можете добавить (после чего-то вроде shebang)

source ~/.bashrc

или

source ~/.bash_profile

чтобы получить переменные окружения, установленные

...