GNU/Linux >> Linux の 問題 >  >> Linux

ホームディレクトリのバックアップ-クイックnダーティガイド

あなたがLinuxユーザーだとしましょう。いいえ、真剣に言ってください。わかった。今、あなたはLinuxの人であり、個人データをバックアップしたいと考えています。これは非常に重要だからです。確かに、しっかりしたバックアップ計画を立てることは賢明なことです。大規模なシステムアップグレードを行う場合、新しいソフトウェアなど、ファイルを破壊する可能性のあるものを試してみてください。データのコピーは、望ましくない涙やパニックを防ぐのに役立ちます。

これについては2つの方法があります。 1つは、GrsyncやDeja Dupなどのツールを使用できますが、これはまったく問題ありません。 2つ目は、独自の小さなスクリプトを作成することです。通常、後者の方法を気にする理由はありませんが、必要に応じて何をすべきかを知っておくのは良いことです。今日は、除外などを含めて、データの柔軟で暗号化された(はい、暗号化された)アーカイブを作成し、それらを好きな場所、別のディスク、別のシステム、クラウド、なんでもいい。私の後。

データを整理する

由緒あるtarユーティリティを使用します。ほぼすべてのUNIX/Linuxマシンで使用でき、UIが機能する必要はありません。また、データをバックアップ場所にストリーミング(同期)しないという点で、セクシーできちんとしたrsyncとは異なります。それは可能ですが、その主な目的はデータアーカイブを作成することです。

したがって、tarを使用してローカルアーカイブを作成し、複数の除外フラグを使用して、一時ファイル、デバッグファイル、キャッシュ、ゴミ箱など、保持を必要としないものをバックアップしないようにします。次に、別のツールを使用してアーカイブを暗号化します。 --gpg。これにより、何らかの理由でデータにアクセスできる人は、中を覗くことができず、いたずら好きになります。

以下のリストを見てみましょう。これは包括的ではなく、特定の設定では他にも多くの除外が存在する可能性があることに注意してください。ただし、これは指標であり、保守的です。つまり、安全に追加できなかったとしても、不要な可能性のあるデータがバックアップされる可能性があります。

tar -cpzf backup-name.tar.gz \
--exclude=backup-name.tar.gz \
--exclude =.cache \
--exclude =.debug \
-exclude =.dbus \
-exclude =.gvfs \
-exclude =.local / share / gvfs-metadata \
-exclude =.local / share / Trash \
-exclude =.recently-used \
-exclude =.thumbnails \
-exclude =.xsession-errors \
-exclude =.Trash \
--exclude =.steam \
--exclude=ダウンロード\
--exclude =GitHub \
--exclude =Public \
--exclude =Steam \
--exclude =Templates \
--exclude="VirtualBox VMs" \
--warning=no-file-changed。

ここには何がありますか?まず、アーカイブの名前。残りのデータと同じボリュームに配置できますが、2行目が必要です。これは、アーカイブをそれ自体に含めないように指示します(開始)。次に、一連の実際の除外があります。これらのいくつかは一般的であり、いくつかはユーザー固有です。一般的な除外は、主にセッション関連または一時的なデータを対象としています。具体的には(そしてそれによって私は一般的に意味します):

  • .cache-名前が示すとおり。
  • .debug-名前が示すとおり。
  • .dbus-セッション固有のデータ。
  • .gvfs-GVFSのセッション固有のマウントポイント。
  • .local / share/gvfs-metadata-上記のメタデータ。
  • .local / share/Trash-名前が示すように。
  • .recently-used-名前が示すように。
  • .thumbnails-名前が示すように。
  • .xsession-errors-セッション固有のエラー。
  • .Trash-名前が示すとおり。

.Trashの後のすべての除外行は、個人的なオーバーライドです。たとえば、ダウンロードしたGitHubプロジェクトリポジトリデータ(これも気にしないかもしれません)、Steamのもの(同じ)、またはVirtualBox仮想マシンを保存する必要はありませんでした。もちろん、適切と思われるように、リストにはこれらのオーバーライドをいくつでも含めることができます。私はあなたがこれについてどうやって行くことができるかについてあなたに感覚を与えるために私のものを追加しました。

他にも多くの可能な除外があります。たとえば、このGitHubリストには、数百行の除外が含まれています(rsyncを対象としていますが、議論のために、ここでも違いはありません)。これは、tarコマンドでも考慮することができます。リストの一般的な部分でプログラム固有のディレクトリを省略せず、いくつかの個人的なオーバーライドのみを提供しました。残りはあなた次第です、そしてあなたが先に進むことができる前にあなたはちょっとした宿題を必要とします。

最後に、バックアップが変更される予定のファイルがある場合は警告も点滅し、アーカイブを現在のディレクトリ(ドットで示されます)に保存します。また、適切と思われる場合は、リモートの場所や他のディスクに保存することもできます。また、これはシェルコマンドであるため、スクリプトを作成してからスケジュールすることもできます。

暗号化

アーカイブが作成されたら、gpgで暗号化できます:

gpg -o backup-name.tar.gz.gpg --symmetric backup-name.tar.gz

アーカイブのパスワードを入力するように求められます。ソースは削除されないため、アーカイブを開いてテストし、アーカイブが機能し、パスワードを覚えていることを確認できます(すべきです)。デスクトップ環境を実行しているシステムでは、ウィンドウプロンプトが表示されます:

エラー

tarの操作中に、いくつかのエラーが発生する可能性があります。上記の-vフラグを意図的に使用しなかったため、エラーのみが表示され、エラーを見つけて解決するのが簡単になりました。表示される一般的なエラーのいくつかは次のとおりです。

tar:。:ファイルを読みながら変更されました
tar:以前のエラーが原因で失敗ステータスで終了します

この場合、アーカイブの作成中にファイルが変更されました(テキストファイルなど)。これ自体はエラーではありませんが、特定のファイルはアーカイブに含まれず、tarコマンドの終了ステータスはある種のエラーコードになります。エラーを無視するか、tarアーカイブの作成を再実行できます。必要に応じて、-ignore-failed-readフラグを使用することもできますが、一部のファイルはバックアップされないことに注意してください。

tar:./.config/.../leveldb/LOG:開くことができません:アクセスが拒否されました
tar:./.config/.../leveldb/000010.ldb:開くことができません:アクセスが拒否されました

Permissiondeniedエラーが表示される場合があります。これは通常、権限の問題が原因で発生します。つまり、ホームディレクトリの下にある一部のファイルにアクセスできないか、自分のものではない(所有者ではない)ため、tarコマンドでそれらをアーカイブに含めることはできません。これらのエラーを無視するか、権限を修正できます:

chown "your user": "your group"〜/ * -R

データの復元

できることはもっとたくさんあります。 Ubuntu wiki TARページには、ネットワーク経由のバックアップと復元を組み合わせる方法など、非常に便利な多くの有用な情報があります。ただし、ここでの焦点はクイック'n'ダーティにあるため、意図的に複雑にしすぎないようにします。まず、ファイルを復号化する必要があります:

gpg -o backup-name.tar.gz -d backup-name.tar.gz.gpg

そして、それを抽出できます:

tar -xpzf backup-name.tar.gz

これは最も基本的なtarアーカイブ抽出コマンドです。ターゲットディレクトリやその他のフラグを使用して組み合わせることができますが、ほとんどの場合、新しいボックスを作成する場合を除いて、アーカイブ内のデータを既存のシステムに盲目的にコピーしたくない場合があります。

続きを読む

システムもバックアップすることを忘れないでください!

新しい明確なCloneZillaチュートリアル

タイムシフトレビュー-タイムワープをもう一度やりましょう

結論

そしてそれはそれについてです。私はデータのバックアップを強く信じています。実際、これはコンピューターで練習する必要がある最も重要なことです。複数のバックアップとそれらを作成するための複数の方法があると、さまざまな使用シナリオに役立つため、常に役立ちます。場合によっては、本格的なUIツールで作業を行うことができます。それ以外の場合は、rsyncの主力製品になります。そして今、あなたは別の古くて信頼できるプログラムを使うことができます、そしてそれは少しgpgのひねりを加えたtarです。

このガイドでは、一般的なものと個人的なものの両方の除外について説明し、暗号化について説明し、tarを使用するときに発生する可能性のある(そしておそらく発生する可能性が高い)いくつかの一般的なエラーに触れ、最後にデータの復元も行いました。これはすべてと同じくらい重要です。他のステップ。ここに記載されている情報がお手元にあることを願っています。それらのバイトの世話をしてください、私は心からです。またね。


Linux
  1. ディレクトリ内のファイルの数を数え、その数が5を超えた場合に最も古いものを削除するにはどうすればよいですか?

  2. チルダ(「〜」、ホームディレクトリ)を再定義することは可能ですか?

  3. ホームディレクトリにある不思議な.directories?

  1. Bashシェルでのクイックディレクトリナビゲーション?

  2. ホームディレクトリを表すために「〜」が選択されたのはなぜですか?

  3. ホームディレクトリを暗号化するポイントは何ですか?

  1. viエディターの紹介

  2. The Magic ~:5 つの例を使用した Bash Tilde 拡張

  3. Linuxでの理想的なホームディレクトリのアクセス許可はどうあるべきか