Использование инструментов шифрования и сжатия с Mariabackup
Mariabackup поддерживает потоковую передачу в стандартный вывод с помощью опции --stream=xbstream. Эта опция позволяет легко интегрировать популярные инструменты шифрования и сжатия. Ниже приведены несколько примеров.
Шифрование и расшифровка резервной копии с помощью openssl
Следующий пример создает зашифрованную резервную копию AES, защищенную паролем "mypass" и сохраняет ее в файле "backup.xb.enc":
mariabackup --user=root --backup --stream=xbstream | openssl enc -aes-256-cbc -k mypass > backup.xb.enc
Для расшифровки и распаковки этой резервной копии в текущую директорию можно использовать следующую команду:
openssl enc -d -aes-256-cbc -k mypass -in backup.xb.enc | mbstream -x
Сжатие и распаковку резервной копии с помощью gzip
Этот пример сжимает резервную копию без шифрования:
mariabackup --user=root --backup --stream=xbstream | gzip > backupstream.gz
Мы можем распаковать и разархивировать резервную копию следующим образом:
gunzip -c backupstream.gz | mbstream -x
Сжатие и шифрование резервной копии с использованием gzip и openssl
Этот пример добавляет этап сжатия перед шифрованием, в остальном он почти идентичен предыдущему примеру:
mariabackup --user=root --backup --stream=xbstream | gzip | openssl enc -aes-256-cbc -k mypass > backup.xb.gz.enc
Мы можем расшифровать, распаковать и разархивировать резервную копию следующим образом (обратите внимание на gzip -d в конвейере):
openssl enc -d -aes-256-cbc -k mypass -in backup.xb.gz.enc |gzip -d| mbstream -x
Сжатие и шифрование с помощью 7Zip
Архиватор 7zip - популярная утилита (особенно в Windows), которая поддерживает чтение из стандартного вывода с опцией --si и запись в стандартный вывод с опцией -so, и, следовательно, может быть использована совместно с Mariabackup.
Сжатие резервной копии с помощью командной строки 7z выполняется следующим образом:
mariabackup --user=root --backup --stream=xbstream | 7z a -si backup.xb.7z
Разархивировать и распаковать архив с помощью
7z e backup.xb.7z -so |mbstream -x
7z также имеет встроенное шифрование AES-256. Для шифрования резервной копии из предыдущего примера с использованием пароля SECRET добавьте -pSECRET в командную строку 7z.
Шифрование с помощью GPG
Шифрование
mariabackup --user=root --backup --stream=xbstream | gpg -c --passphrase SECRET --batch --yes -o backup.xb.gpg
Расшифровать, распаковать
gpg --decrypt --passphrase SECRET --batch --yes backup.xb.gpg | mbstream -x
Взаимодействие для ввода паролей
Большинство описанных инструментов также предоставляют способ ввода пароля в интерактивном режиме (хотя 7zip, похоже, не работает должным образом при чтении входных данных из стандартного ввода). Обратитесь к документации инструментов для получения дополнительной информации.
Запись дополнительных файлов состояния
По умолчанию файлы, такие как xtrabackup_checkpoints, также записываются только в поток вывода, и поэтому они не будут доступны для создания дальнейших инкрементных резервных копий без предварительного извлечения из сжатого или зашифрованного потока вывода.
Чтобы избежать этого, эти файлы можно дополнительно записать в каталог, который затем можно использовать как входные данные для дальнейших инкрементных резервных копий с помощью опции --extra-lsndir=....
См. также, например: Сочетание инкрементных резервных копий с потоковым выводом
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/using-encryption-and-compression-tools-with-mariabackup/