Для выключения ВМ в ВМ можно использовать cron :Я не уверен, почему это может быть плохо, если предположить, что вы хотите это делать ежедневно.
Однако, чтобы ответить на ваш вопрос, вы можете в качестве альтернативы создать службу systemd для завершения работы -h (см.https://www.linux.com/blog/learn/intro-to-linux/2018/5/writing-systemd-services-fun-and-profit)
Теперь для запуска я бы определенно использовал cron с virsh.
Вы не видите, что хранится в файле. Для этого вам нужно что-то вроде:
tail -n 6 "$HISTFILE"
Будет напечатано 6 строк, соответствующих 3 командным строкам, хранящимся в файле.
$ export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 3
1
15891 Wed Jun 17 | 20:18:27 | 1 |export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 5
15892 Wed Jun 17 | 20:18:41 | 1 |export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 6
15893 Wed Jun 17 | 20:18:44 | 1 |export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 3
$ tail -n 6 "$HISTFILE"
#1592439521
export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 6
#1592439524
export HISTTIMEFORMAT='%a %h %d | %T | 1 |'; shopt -s histappend; echo 1; history 3
#1592439630
tail -n 6 "$HISTFILE"
Предполагается, что файл истории обновляется при каждой выполненной команде.
Обратите внимание, что между каждой сохраненной командой есть строка комментария.
Эта строка комментария фактически хранит эпоху Unix в секундах при выполнении каждой команды. Это значение, например :1592439630
, преобразуется в формат, заданный через TIMEFORMAT
. Это одно простое число, которое преобразуется в другой формат. Когда вы меняете формат, одно и то же число преобразуется в другой формат. Поэтому невозможно преобразовать одни числа в один формат, а другие — в какой-то другой.
То, что histappend
установлено или не установлено, влияет на что-то совсем другое, а не на формат печатаемых значений.Каждая команда (без какого-либо формата )добавляется к файлу истории, но только при выходе из оболочки или выполнении команды history -w
. Короче говоря, только если в файл истории записывается.