Как запустить команду, как если бы она вызывается из cron

Я пишу сценарий и задаю его как задание cron. Но из-за различия переменных среды он не работает так, как должно быть.

В этом случае я немного изменил crontab -e и установил ближайшую минуту работы cron, и подождал следующей минуты, чтобы показать результат. Я чувствую, что это абсолютно абсурдный подход, но я не знаю, как это сделать.

Если есть способ запустить скрипт, как если бы он был вызван внутри задания cron, я его буду использовать.

Кто-нибудь знает как это делать?

2 Solutions collect form web for “Как запустить команду, как если бы она вызывается из cron”

Вот как это сделать: принудительное выполнение cron для использования вашей среды входа:

bash -lc "your_command"

Из руководства bash:

 -c string If the -c option is present, then commands are read from string. If there are arguments after the string, they are assigned to the positional parameters, starting with $0. -l Make bash act as if it had been invoked as a login shell (see INVOCATION below). 

INVOCATION (бит разделяется ):

Когда bash вызывается как интерактивная оболочка входа или как неинтерактивная оболочка с параметром –login, она сначала считывает и выполняет команды из файла / etc / profile, если этот файл существует. После прочтения этого файла он ищет ~ / .bash_profile, ~ / .bash_login и ~ / .profile в этом порядке и считывает и выполняет команды из первого, который существует и доступен для чтения. Опция -noprofile может использоваться, когда оболочка начинает блокировать это поведение.

Чтобы узнать больше:

  • человек

Лучше всего использовать.

вот несколько примеров

  echo $PWD/script.sh | at now 

или

  echo "reboot" | at 5:00 

или

  echo "mail -s test user@host" | at now + 1 hour 

Вот несколько примеров даты / времени.

  • Cron arbtirary будние дни диапазон
  • Значение записи «* * / 1 * * *» cron?
  • Cron с 12-часовым выпуском?
  • crontab исключает только определенную дату
  • Почему коронка может начинаться поздно случайно
  • Ежедневная работа cron не работает
  • переменные в crontab
  • Создайте задания cron, чтобы повторять каждые X единиц времени, начиная с судовой единицы
  • Мой скрипт сообщается как выполняющийся в журнале CRON, но он не указан в crontab любого пользователя
  • crontab нодификация занимает слишком много времени
  • Cron неожиданно вызывает скрипт каждые 15 минут
  • Linux и Unix - лучшая ОС в мире.