Корневое задание не выполняет скрипт должным образом. PATH или HOME проблемы?

Хотя другой ответ уже дал буквальный ответ, я бы изучил возможность того, что это не делается правильным путем. Вместо этого вы должны запустить сценарий, который вы не хотите замедлять работу компьютера (например, неинтерактивные скрипты) с помощью команды nice.

Чтобы сделать это, просто префикс команды, которую вы хотите запускать с приятным , например: nice command_to_run Это приведет к тому, что программа будет отключена по приоритету ниже других задач и не замедлит работу вашего аппарата. Я часто использую эту технику при выполнении длинной компиляции, которая в противном случае замедляла бы мой компьютер до обхода, это имеет то преимущество, что позволяет программе использовать все ядра, когда машина не занята, но быстро остановит ее, используя их, когда вы запускаете что-то в другом месте.

1
задан 24 May 2017 в 09:40

3 ответа

Cron, похоже, не использует среду, которую у вас есть, попробуйте поставить PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' перед вашим скриптом в списке cronjobs или добавить его в свой скрипт.

например

* * * * * PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' myscript.sh

2
ответ дан 22 May 2018 в 22:18
  • 1
    Вот и все. Я добавил переменную PATH в скрипт, и она сработала. Итак, когда дело доходит до запуска сценария bash как задание cron для root, переменные среды не заданы? – Everardo Ibarra 24 May 2017 в 19:45

Cron, похоже, не использует среду, которую у вас есть, попробуйте поставить PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' перед вашим скриптом в списке cronjobs или добавить его в свой скрипт.

например

* * * * * PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' myscript.sh

2
ответ дан 18 July 2018 в 12:48

Cron, похоже, не использует среду, которую у вас есть, попробуйте поставить PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' перед вашим скриптом в списке cronjobs или добавить его в свой скрипт.

например

* * * * * PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' myscript.sh

2
ответ дан 24 July 2018 в 20:02

Другие вопросы по тегам:

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