encontre o snapshot mais recente usando a linha de comando do xen

encontre o snapshot mais recente usando a linha de comando do xen

Estou usando o Xen, e para cada uma de nossas VMs configuramos um processo para criar um novo instantâneo da VM todas as manhãs, com os últimos sete sendo mantidos.

Agora estou tentando escrever um script para testar a restauração do instantâneo mais recente para cada VM.

Na linha de comando do Xen, posso obter uma lista de todos os instantâneos de uma determinada VM usando:

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

que retorna sete inteiros no seguinte formato:

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

Existe uma maneira fácil de descobrir qual é o mais recente, já que até agora tudo o que preciso é a data no rótulo do nome (por exemplo 20220616), mas a segunda parte do nome ( 0118) muda a cada instantâneo, e como Pelo que sei, não posso usar curingas com a name-labelopção de, xepor exemplo

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

Responder1

Então eu descobri isso.

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}

Portanto, embora não seja estritamente necessário encontrar o mais recente, desde que os instantâneos contenham a data atual no nome e um instantâneo tenha sido tirado hoje (e haja apenas um instantâneo hoje), ele deverá funcionar.

informação relacionada