GRUB v2: Практический способ справиться с числовыми записями для использования с перезагрузкой личинки

Спасибо, что разместили свой ответ - он мне очень помог. Я думаю, что вы можете упростить цикл:

EVENTS="CREATE,DELETE,MODIFY,MOVED_FROM,MOVED_TO"

sync() {
  rsync --update -alvzr --exclude '*cache*' --exclude '*.git*' /var/www/* root@secondwebserver:/var/www/

}
watch() {
  inotifywait -e "$EVENTS" -m -r --format '%:e %f' /var/www/ --exclude '/var/www/.*cache.*' 
}


watch | (
while true ; do
  read -t 1 LINE && sync
done
)

Вам может понадобиться слегка подкорректировать его, но суть должна быть ясна. Я использую вариант с Amazon's AWS s3 синхронизацией, так что, возможно, я неправильно подставил вашу команду rsync.

1
09.11.2014, 22:55
1 ответ

Я использую эту командную строку , это всего лишь разбор /boot/grub/grub.cfg , чтобы показать нумерованные записи , один За строку:

sed ':again;$!N;$!b again; :b; s/{[^{}]*}//g; t b' /boot/grub/grub.cfg | cut -c -60 | grep -e "^menuentry" -e "submenu" | nl -v 0 | grep -e "menuentry" -e "submenu" --color

, что результаты (не тот же пример, что и графический до, извините):

GRUB-ListMenu results example

Мой предпочтительный метод состоит в том, чтобы добавить его как псевдоним или функции . Например, в качестве функции в ~ / bashrc :

# List entries numbers for grub-reboot:
function GRUB-ListMenu() {
        sed ':again;$!N;$!b again; :b; s/{[^{}]*}//g; t b' /boot/grub/grub.cfg | cut -c -60 | grep -e "^menuentry" -e "submenu" | nl -v 0 | grep -e "menuentry" -e "submenu" --color
}

:

# List entries numbers for grub-reboot:
function GRUB-ListMenu() {
        sed ':again;$!N;$!b again; :b; s/{[^{}]*}//g; t b' /boot/grub/grub.cfg | cut -c -60 | grep -e "^menuentry" -e "submenu" | nl -v 0 | grep -e "menuentry" -e "submenu" --color
}

:

  • Команда удаляет все линии между вьющимися скобками ( { и } ), из-за того, что они соответствуют раскрывающемуся подменю .
  • Команда команда оставляет только первые 60 символов, чтобы сделать результаты более читаемым для пользователя.
  • Команда GREP покидает только линии, соответствующие вводам реального меню : менюнтрию и подменю .
  • Команда NL каждая строка (начиная с 0, конечно).
  • Есть дополнение Команда Греп Команда, а не строго необходима, что просто добавляет цвета к результатам ;-).

Советы об оптимизациях приветствуются.
Испытано, работая на Grub V2.02 ~ Beta2-9ubuntu1, работающий на рабочем столе Ubuntu, сервере V12, V14, Kali и Backtrack. Образывания о поведении в другом Linux поощряются (добавим их к этому посту).

1
27.01.2020, 23:51

Теги

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