Я настроил простой скрипт init.d "S3logrotate" для запуска при завершении работы. Скрипт "S3logrotate" отлично работает при запуске вручную из командной строки, но при выключении скрипт работает некорректно.
Сценарий загружает журналы с моего ПК в корзину Amazon S3 и требует, чтобы Wi-Fi работал правильно.
Отладка показала, что скрипт действительно запускается, но процесс загрузки не выполняется.
Я обнаружил, что проблема заключается в том, что скрипт запускается после отключения Wi-Fi.
Это блоки, которые я использовал для проверки моего интернет-соединения в сценарии.
if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then
echo "IPv4 is up" >> *x.txt*
else
echo "IPv4 is down" >> *x.txt*
fi
if ping -q -c 1 -W 1 google.com >/dev/null; then
echo "The network is up" >> *x.txt*
else
echo "The network is down" >> *x.txt*
fi
Выход для этого блока:
IPv4 is down
The network is down
Есть ли способ установить приоритет сценария init.d? Например, могу ли я запустить свой скрипт до того, как сетевое соединение будет разорвано? Если нет, то есть ли альтернатива init.d?
Я использую Ubuntu 16.04 и имею двойную загрузку с Windows 10, если это важно.
Спасибо,
сганесан7
flag
внизу вашего вопроса и попросите модератора переместить его. Пожалуйста, не публикуйте один и тот же вопрос на двух разных сайтах. Прочтите stackoverflow.com/help/how-to-ask stackoverflow.com/help/dont-ask и stackoverflow.com/help/mcve перед публикацией дополнительных вопросов здесь. Удачи. - person shellter   schedule 24.11.2016/etc/rc6.d
должна иметь числовой префикс, напримерK01
. Сценарии запускаются в числовом порядке, поэтому вам следует присвоить ему меньший номер, чем сценарию, завершающему сетевое соединение. - person Barmar   schedule 24.11.2016