回答:
場合によります。最も一般的な2つのオプションはtarballとzipファイルですが、どちらも不足しています。
.tar
テープアーカイブは、ほとんどのLinuxユーザーにとって非常に一般的なオプションです。UNIXファイルのアクセス許可(バックアップに重要)とハードリンクを保持します。7-zipのようないくつかのWindowsプログラムと同様に、私がテストしたすべてのLinuxディストリビューションですぐに使用できます。ただし、Durplicityの開発者が説明しているように、tarにはバックアップのユースケースにいくつかの制限と欠点があります。非常に遅くなる可能性があります。アーカイブに保存されているファイル名のリストを取得する場合でも、アーカイブ全体を読み取る必要があります。また、一部の新しいファイルシステムが持つ詳細なメタデータも処理しません。.zip
zipファイルは、アーカイブと圧縮形式の両方として機能します。速度を上げるために、圧縮を完全に無効にすることができます。Zipファイルは、種類の目次を保存するという点でテープアーカイブよりも優れており、プログラムは抽出する必要がある特定のファイルにすばやくジャンプできます。また、各ファイルの内容のチェックサムを保存して、ファイル破損の検出を容易にします。残念ながら、Zipファイルは非常に人気があり、単純なファイルのアクセス許可を保存しないため、Linuxバックアップには適していません。残念ながら、欠けているオプションが2つあります。
.7z
7z圧縮アーカイブには、暗号化や非常に大きなファイルのサポートなど、いくつかの優れた機能があります。残念ながら、UNIXファイルのアクセス許可は保存されないため、Linuxのバックアップには適していません。.ar
従来のUNIXアーカイブはtarアーカイブの前身であり、tarアーカイブと同じ制限を受けます。私の意見では、Linuxバックアップ用の完全に堅牢なバックアップアーカイブ形式はなく、いずれにせよ私の信頼を保証するのに十分に知られているものはありません。
これらの各形式の制限を克服する1つの方法は、それらを組み合わせることです。たとえば、各ファイルをtarアーカイブに個別にアーカイブし、次にこれらのtarballをすべて1つのzipファイルにアーカイブします。
非常に堅牢なバックアップが必要な場合は、代わりにこれらのソリューションを検討する必要があります。
コピー元とコピー先の両方に同じファイルシステムを使用して、外部ハードディスクに直接バックアップします。これにより、各ファイルの権限とメタデータを意図したとおりに正確に保存できます。(余談ですが、ファイルの所有者とグループ所有者は、名前ではなく、ユーザーIDとグループID番号を使用して保存されます。)
CloneZillaなどのフルディスクイメージングおよびクローニングソフトウェアを使用します。これらのバックアップの1つから1つのファイルを取得することはできませんが、可能な限りすべてを保存したことを完全に確信できます。
また、常に覚えておいてください。バックアップを復元しようとした場合にのみ、バックアップに自信を持つことができます。最悪の事態が最悪になり、ソースハードドライブが完全に破壊された場合、新しいハードドライブに復元するために必要なものをすべて復元できますか?期待どおりに動作しますか?バックアップを新しいハードディスクに復元して、そのハードディスクから数日間実行してみてください。何か不足していることに気付いた場合、バックアップが十分ではなかったことがわかります。
また、バックアップをどこに保管するかも考えてください。盗難や火災から身を守るために、少なくともソースディスクと同じ建物にないバックアップが必要です。このためのいくつかのオプションは、クラウド、または友人の家です。
tarball(.tar
ファイル)がその方法です。gzip
圧縮形式を使用して圧縮率を下げますが、高速です。bzip2
はるかに遅いですが、より良い圧縮率を提供します。ただし、バイナリデータについては大きな違いはありません。
gzip圧縮を使用してディレクトリを圧縮するコマンド:
tar czf /path/to/save/backup.tar.gz directory-to-backup
ファイルのアクセス許可を保持しながらgzipで圧縮されたtarballを抽出するには:
tar xzpf /path/to/save/backup.tar.gz
bzip2圧縮のために置き換えz
、vの前に(たとえばand )をj
追加して、ファイル名がアーカイブ/展開されるときにファイル名を出力します。v
czvf
xzpvf
bzip2recover
。