Рейтинг:0

Cron не выполняет команду должным образом

флаг de

На моем сервере Ubuntu установлены утилиты HP ProLiant. Используя следующую команду оболочки, я могу сохранить вывод состояния RAID в файл журнала:

sudo ssacli ctrl all show config > /var/logs/raid.log

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

30 15 * * * ssacli ctrl all show config > /var/logs/raid.log #Журнал состояния RAID

Это задание cron предназначено для пользователя root.

Проблема в том, что если я зайду в Webmin и запущу это задание cron, нажав «Сохранить и запустить сейчас», файл журнала будет создан. Но если я позволю запуску задания cron в назначенное время, файл журнала будет создан, но пуст.

Я думаю, это может быть связано с тем, что мне нужно запустить ssacli в режиме sudo.

Кто-нибудь может помочь, пожалуйста?

Спасибо

флаг uz
Jos
Первое правило cron: всегда указывайте полные пути. В этом случае вам может понадобиться написать `/usr/bin/ssacli` вместо `ssacli`. Исполняемый файл `ssacli` может находиться где-то еще, кроме `/usr/bin/`; вы можете узнать где с помощью `what ssacli`.
John Roberts avatar
флаг de
Потрясающий. Благодарю. это было все. Мне просто нужно было указать полный путь к ssacli, который был /usr/sbin/ssacli
Рейтинг:1
флаг it

Вакансии проходят через хрон не запускаются в той же среде выполнения, что и на вашем рабочем столе. Ни один из ваших ДОРОЖКА изменения или другие параметры переменных среды из ~/.bashrc автоматически распространяются на ваш хрон работа. Например, нет $ ДИСПЛЕЙ, поэтому программы с графическим интерфейсом нуждаются в особом подходе (читай человек).

Можно установить переменные окружения для всех своих хрон рабочие места в кронтаб файл Читать человек 5 кронтаб.

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

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.