SquashFS によるフルシステムバックアップ
ナビゲーションに移動
検索に移動
関連記事
ファイルシステム全体の圧縮バックアップアーカイブを SquashFS フォーマットで作成することができます。ランダムアクセスが可能なため、バックアップや取り出しに比較的時間がかかりませんが、追記以外の改変はまだできません。
デバイスファイル | 説明 |
---|---|
/dev/sdB | バッアップドライブ |
/dev/sdL | ライブメディア |
/dev/sdSRC | バックアップするドライブ |
Overview
It's possible to make compressed read-only backup archives of whole filesystems in the SquashFS format. It is convenient since you can mount it and find/grep/cp/tree in it without decompressing the whole archive. Backup and retrieval may take less time compared to tar, but modifying an existing archive is impossible.
ライブ CD/DVD/USB の準備
SquashFS アーカイブを作成するには squashfs-tools がインストールされているライブ CD/DVD/USB を用意する必要があります。Archiso#ライブメディアの設定を読んで packages.x86_64
を設定して squashfs-tools がインストールされているライブ CD/DVD/USB を作成してください。
ライブ環境でバックアップ
ライブ CD/DVD/USB を起動してバックアップしたいファイルシステムをマウントしてください。
# fsck /dev/sdb2 # fsck /dev/sdb1 # mount /dev/sdb2 /mnt # mount /dev/sdb1 /mnt/boot/efi # /somewhere/mksquashfs.sh SOURCE_DIRECTORY BACKUP_ARCHIVE_DIRECTORY
スクリプトの中身:
/somewhere/mksquashfs.sh
#!/usr/bin/env bash # Sanity if [ $# -ne 2 ]; then echo "invoke: mksquashfs.sh SOURCE_DIRECTORY BACKUP_ARCHIVE_DIRECTORY" exit 1 fi echo -ne "\n\nHave you fsck'd? " read # Backup mksquashfs \ "$1" "$2/$(date +%Y%m%d_%a).sfs" \ -comp gzip \ -xattrs \ -progress \ -mem 5G \ -wildcards \ -e \ boot/efi \ boot/grub \ boot/initramfs-linux"*".img
リストア (解凍)
#!/bin/bash # Path to extract files target=/mnt # Path to backup SquashFS archive file archive=/somewhere/backup.sfs unsquashfs -stat $archive unsquashfs -force -dest $target $archive
リストア (マウントとコピー)
mount somewhere/backup.sfs /mnt
cp /mnt/somefile /somewhere/damaged-somefile