ifdown в скрипте cron bash не запускается

У меня есть скрипт, который запускается, когда сервер (Ubuntu 14.04) загружается с помощью @reboot в crontab (под пользователем root)

@reboot /bin/bash /root/init.sh >> /var/logs/vminit.log

Скрипт запускает несколько вещей, но когда он достигает этой строки

ifdown eth1

Сценарий завершается, а ifdown не запускается. (Запуск ifconfig по-прежнему показывает eth1 на выходе) Включение режима Verbose на ifdown ничего не возвращает.

Если я вручную запускаю скрипт сам, он работает как ожидалось.

Я написал тестовый скрипт, чтобы исключить любые проблемы с init.sh

#!/bin/bash
echo 'one'
ifdown eth1
echo 'two'

Если я запустил его вручную, я получу этот вывод (который ожидается)

one
<DHCP Client info>
two

Если я поставлю этот тестовый скрипт в crontab, который будет запущен с @reboot, я получаю те же результаты, что и init.sh, а выход -

one

. Я протестировал, запустив cron at точное время (Пример: 25 14 * * *), чтобы увидеть, что это что-то с `@reboot ', но не удача.

Я также попытался отложить запуск сценария после загрузки, если что-то блокировало ifdown из running

@reboot /bin/sleep 60; /bin/bash /root/init.sh >> /var/log/vminit.log

Несколько заметок: - Eth1 - активный интерфейс, перед запуском ifdown скрипт вызывает вызов eth1, чтобы захватить файл успешно. - Скрипт запускается как root. Разрешения со сценарием (и протоколом) прекрасны. - Запуск init.sh или тестовый скрипт выполняется вручную, как ожидалось.

1
задан 30 April 2015 в 17:09

0 ответов

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

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