Выполнение команды при запуске на crontab

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

sudo ifdown eth0 && sudo ifup -v eth0

на crontab может я просто сделать:

@reboot sudo ifdown eth0 && sudo ifup -v eth0

или я должен сохранить это в сценарии?

спасибо

24
задан 17 February 2016 в 14:08

2 ответа

Несколько примечаний здесь, прежде чем это работало бы:

  1. не используют sudo в задании крона. Вместо этого редактирование root crontab вместо Вашего собственного, например, sudo crontab -e и затем вводит команды без sudo.
  2. Как @mikewhatever упомянутый, это - нечетное использование для cron и было бы, вероятно, лучше помещено в /etc/rc.local перед exit 0 строка.
  3. , Если Вы говорите нам точно, что Вы ищете, мы смогли направлять Вас к журналу, или опция конфигурации (перезапускающий Ваши сетевые службы при запуске чувствует немного hackish).
  4. В большинстве систем @reboot должен также бежать за трудным завершением работы или катастрофическим отказом, но существуют различные реализации крона так YMMV. Я видел комментарии в различных местах, утверждающих обоих.

РЕДАКТИРОВАНИЕ (2016/02/17): Удаленная неправильная аннотация на полных путях; РЕДАКТИРОВАНИЕ престижности @muru
(2016/10/17): Добавленное РЕДАКТИРОВАНИЕ примечания
завершения работы (2017/09/11): Пересмотренное примечание завершения работы. Едва ли уверенный в том.

34
ответ дан 23 November 2019 в 01:19

Можно использовать crontab для этого, но если Вы будете использовать sudo, то затем Вам будет нужно NOPASSWD правило в sudoers, чтобы сделать так. (См. , Как выполнить задание крона с помощью sudo команды .)

было бы более просто отредактировать /etc/rc.local и добавить эти команды перед exit 0 строка.

6
ответ дан 23 November 2019 в 01:19

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

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