найти последний снимок с помощью командной строки xen

найти последний снимок с помощью командной строки xen

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

Сейчас я пытаюсь написать скрипт для тестирования восстановления последнего снимка для каждой виртуальной машины.

В командной строке Xen я могу получить список всех снимков для заданной виртуальной машины, используя:

xe snapshot-list snapshot-of=${vm_uuid}

который возвращает семь целых чисел в следующем формате:

uuid ( RO)                : fc6cb150-b264-830e-4fb9-7fec030e434d
          name-label ( RW): 20220616-0118
    name-description ( RW):
    is-vmss-snapshot ( RO): true

Есть ли простой способ узнать, какой из них самый последний, поскольку пока мне нужна только дата в имени-метке (например, 20220616), но вторая часть имени ( 0118) меняется с каждым снимком, и, насколько я могу судить, я не могу использовать подстановочные знаки с name-labelопцией, xeнапример,

xe snapshot-list snapshot-of=${vm_uuid} name-label=20220616*

решение1

Так вот я и понял.

today=$(date +%Y%m%d)

ss_name=$(xe snapshot-list snapshot-of=${vm_uuid} | grep ${today} | awk -F: '{print $2}' | awk '{$1=$1};1')

ss_uuid=$(xe snapshot-list name-label="${ss_name}" | awk '{print $5}') echo $ss_uuid

echo ${ss_uuid}

Таким образом, хотя он и не ищет строго самый последний снимок, но если снимки содержат в названии текущую дату, и снимок был сделан сегодня (и сегодня есть только один снимок), это должно работать.

Связанный контент