Как заставить некоторый initscript запуститься после задержки при начальной загрузке?

Можно добавить правило udev наложить конкретный путь устройства для конкретного устройства. Например:

KERNEL=="sd*", ATTRS{DRIVER}=="ide*", NAME="hda%n"

Эта строка входит в названный файл /etc/udev/rules.d/59-wukerplank-storage.rules. Это вступает в силу, когда устройство добавляется; можно сказать udev повторно применять правила, но это не хорошая идея, если устройство используется.

Обратите внимание, что Вы не должны полагаться на имена как hda или sda, они, как ожидают, не будут постоянными. Если Вам нужно персистентное название устройства, лучше использовать udev для создания псевдонима для него:

KERNEL=="sd*", ATTRS{model}=="ZXQ-500", ATTRS{serial}=="123456", SYMLINK+="disks/by-alias/zxq"

Команда udevadm info -a -n sda шоу, какие свойства можно использовать для соответствия /dev/sda.

Конфигурации RAID обычно используют уникальный идентификатор (UUID) для сообщения, который диск который. Это необходимо, например, при включении дисков в другой машине или в другом порядке. Таким образом, странно, что Ваш RAID испытал бы затруднения из-за имен устройств. Если у Вас есть пользовательские сценарии, которые зависят от имен устройств, заставляют их звонить mdadm запрашивать компоненты массива вместо этого.

2
20.03.2017, 12:18
1 ответ

"Более или менее чисто" мое второе имя. Используйте функцию @reboot в/etc/crontab, поскольку я показываю его здесь. Будет строка в/etc/crontab как

@reboot root (sleep 3600; /etc/init.d/whatever start) &

и конечно обновление-rc.d отключает что.

4
27.01.2020, 22:00
  • 1
    wait 3600 должен быть sleep 3600 ? –  Olivier Dulac 22.01.2014, 18:32
  • 2
    То, как это защитит от раннего начала в случае последовательности начальной загрузки, занимает больше времени чем обычно? Т.е. крон запускается, затем некоторая зависимость берет очень долго для запуска (больше чем 3 600), затем whatever будучи запущенным не в порядке кроном. –  Vi. 22.01.2014, 18:33
  • 3
    @Vi: независимо от того, "что" должно затем veriry&wait до "этого", и "это" произошло. Но это должно будет только ожидать после того первого сна (здесь, сон 3600, который составляет 1 час)... И может ожидать также при помощи a while ( not_this_and_that_yet ) ; do sleep 60 ; done (например). использование сна позволяет ядру просто помещать сценарий "на сторону", пока следующее мм –  Olivier Dulac 22.01.2014, 19:45

Теги

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