Сценарий выключения не предоставляет никакого вывода ни на последовательную консоль, ни на текущую консольную консоль S SH, поскольку он работает как пользователь root и его stdout
не маршрутизируется ни на /dev/tty*
, ни /dev/ttyS*
.
Чтобы убедиться, что скрипт завершения работы действительно работает, вы можете ввести в ключ метаданных VM shutdown-script
что-то вроде следующего:
#!/bin/bash
ofile=/var/tmp/shutdown.txt
echo "+++ Running shutdown script +++"
echo "id = $(id)" > $ofile
echo "script_file path = $(realpath $0)" >> $ofile
echo "script_file rights, user, group = $(stat -c "%A %U %G" $0)" >> $ofile
Далее подключитесь к последовательной консоли и к S SH чтобы подготовиться к просмотру отсутствия какого-либо вывода, предоставляемого сценарием завершения работы.
Затем остановитесь и запустите ВМ.
В конце вы увидите, что скрипт выключения фактически работал как пользователь root и оставил файл журнала:
$ ls -l /var/tmp/shutdown.txt
rw-r--r-- 1 root root 165 Apr 9 18:40 shutdown.txt
$ cat /var/tmp/shutdown.txt
id = uid=0(root) gid=0(root) groups=0(root)
script_file path = /tmp/metadata-scripts196132089/shutdown-script
script_file rights, user, group = -rwxr-xr-x root root
Скрипт выключения работает для вытесняемых экземпляров так же, как и для обычных экземпляров , Разница в том, что первые имеют более короткий период отключения (30 секунд).