Как выполнить бинарный файл go с помощью crontab?

Благодаря @StéphaneChazelas я использовал strace, чтобы увидеть, где висит df, что привело к этому ответу:https://serverfault.com/a/918160/256146

Перезапуск этого, а затем перезапуск dovecot восстановил работу системы.

0
02.05.2021, 10:11
1 ответ

Задания, выполняемые через cron, или at, или batch, не выполняются в той же среде выполнения, что и на вашем рабочем столе. Ни одно из ваших изменений PATHили других настроек переменных среды не распространяется автоматически на ваше задание cron. Например, $DISPLAYнет, поэтому программы с графическим интерфейсом требуют специальной обработки (читайтеman xhost).

Можно установить переменные среды для всех своих cronзаданий в файле crontab. Прочтите man 5 crontab.

Посмотрите на результаты echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";aliasв каждой из ваших сред.

Поскольку часть commandстроки crontabпо умолчанию интерпретируется с помощью /bin/sh, который имеет более простой синтаксис, чем /bin/bash, я рекомендую, чтобы commandбыл вызовом bashскрипт (исполняемый, смонтированный, начинается с #!/bin/bash), который настраивает среду, а затем вызывает нужную программу.

0
28.07.2021, 11:35

Теги

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