cd /path/to/backup/
lsblk --fs --output FSTYPE,UUID | grep crypto_LUKS | tr -s ' ' | cut -d ' ' -f2 | \
while read uuid; do
mntpoint=$(lsblk /dev/disk/by-uuid/$uuid --output MOUNTPOINT | sed 1,1d | head -n 1)
name="${mntpoint}_luksHeader_$uuid.img"
if [[ ! -e "$name" ]]; then
cryptsetup luksHeaderBackup /dev/disk/by-uuid/$uuid --header-backup-file $name
fi
done
Измените путь/к/резервной копии, и все будет готово. Просто знайте, что если точка монтирования для устройства изменится, оно создаст несколько резервных копий заголовков. В противном случае он будет игнорировать уже зарезервированные устройства.
M-
означает, что установлен старший бит, поэтому добавьте «0x80» к кодировке символов.
^?
означает символ «DEL», то есть 0x7F.
Сложите два вместе, и мы получим 0xFF.
Мы можем это проверить:
$ stty -a | grep -w eol | sed 's/.*; //'
eol = <undef>;
$ stty eol 0xff
$ stty -a | grep -w eol | sed 's/.*; //'
eol = M-^?;
Полный список управляющих символов и их обозначения доступны в разделе Таблица управляющих кодов статьи Википедии об ASCII .