ギネスチュートリアルあなたのラズベリーパイシステムのバックアップ方法を教える。4(b)を(フルカード+圧縮バックアップ)

引用:https://www.hao4k.cn/thread-41764-1-1.html


Linux仮想マシンは、「スナップショット」を特徴とVMware社がWindowsにインストールされている、一度後で悪用システムがバックアップノードという時に復元することができたむろ、現在のシステムのバックアップを作成することです。root権限を持つ比較的高いLinuxのオープンシステムの許可、操作の可能性がある誤ってシステムがクラッシュしますシステムファイルの一部を削除する場合。私はラズベリーパイのシステムは非常にラズベリーパイバックアップシステムが非常に重要であり、電源投入後、繰り返し操作の多くを持って、鏡の中にのみ再ブラシに、それぞれの時間を数回掛けていました。また、あなたはより多くのラズベリーに来てラズベリーパイシステム、一括コピーを展開されている可能性があります。

バックアップシステムが分割され
、「フルカロリーのバックアップ」と
「圧縮バックアップ」のみ。「フル・カードのバックアップは、」SDカード全体のバックアップ、簡単な操作、SDカードが大きいSDカードシステムは、ジョブの復元のための多くの必要性があるどのくらいのスペースミラーリングされています。「圧縮バックアップ」の画像のうちSDカードパーティション、基本的なバックアップのバックアップのみ内容と元の画像のファイルサイズは、バックアップボリュームが大幅に削減され、ミラーリング、少し複雑方法と同様です。公式ラズベリーPiは、元の画像が自動的に最初の開始後にSDカード空間全体に拡張された後、バックアップイメージ最初のターンの必要性raspi-config設定拡張SDカードスペースsudoを復元します。
まず、カード全体のバックアップ
1. Win32DiskImager
フルバックアップカードは、最も単純なものです、最初のハードディスクの空のimg接尾辞でファイルを作成し、オープンWin32DiskImager、空のimgファイルと、作成したSDカードのドライブ文字を選択し、読むことができますをクリックしてください。

そのカード全体のバックアップがある、IMGファイルは、彼らがLinuxパーティションを読み取ることができないので、ミラーを作成するためのWin32DiskImagerの時間でバックアップされた後、数分待ってから、この方法の欠点は、還元にも、ファイルやSDカードをバックアップする能力と一致しているが、あなたは、SDカードをミラーリングよりも大きな容量を使用しなければならないとき。

Raspbianは、バックアップファイルが7.4G(8G SDカード)で、元のシステムのみ3.5Gを見ることができます。
2.直接のレプリケーションシステムに来るラズベリー
コマンドを使用DD BS = 4Mの場合= / devの、umountのアンインストールは、マウント、来るラズベリーを挿入し、リーダーにSDカードをフォーマットし、ブランクのSDカードを準備 / =は/ dev / sdaにのmmcblk0ラズベリーパイシステムはSDカードにすべての内容をコピーすることができ、mmcblk0はラズベリーシステムTFカードに来ている、SDAは(lsblkビューを使用して)SDカードを挿入することで、あなたはどちらかの完全なシャットダウンを待つことができます新しいカードの再起動を挿入します。

元のシステムに加えて、SDカードにコピーされるだけでなく、Uディスクのようなリムーバブルストレージデバイスにコピーすることができ、USBブートシステムから直接ラズベリーパイ3B +のサポートは、ラズベリーパイ4Bは、まだサポートされていません。
良いシステムは、sudoを経由UディスクまたはリムーバブルハードディスクPARTUUIDを燃やしてきた取得BLKID。

rootpartuuidのシステムTFカード/boot/cmdline.txtは、上記のUUIDの再起動を変更するには、USBデバイスからシステムを起動することができます。


この方法は、基本的に元のシステムイメージをバックアップとして使用するのに適した、小型ではないと相手にあなたのシステムをコピーするための別のSDカードに書き込まれます。


ラズベリーパイのデスクトップシステムはコマンドは、レプリケーション・プロセスを完了することができます入力しなくても、SDカードのコピー機が付属しています。
3.のddコマンドの
ラズベリーは(システムよりもTFカードスペース)の共有ディレクトリをマウントするために入れ、その後、直接バックDDラズベリーアップ=は/ dev / mmcblk0の場合はddを送ることができます = raspberrypi.img BS = 1Mは、 ディレクトリを共有しましたコンピュータネットワークのケーブル接続上の単語を提案し、ワイヤレスネットワークが非常に遅くなります。
または操作Ubuntuの仮想マシンに(自動的にSDカードをマウントし、自動的に手動でマウントする必要がありますSDカードをマウントすることはありません)。次の図では/ dev / sdb1などは/ dev / SDB2ラズベリーPiは、パーティションSDB1の256Mブートパーティションは、パーティションSDB2また7.1gラズベリーPiは、ファイルシステムのパーティションであるSDカード、です。

直接SDカードをバックアップするddコマンドを使用します。SDカードのラズベリーパイパスは、ここでは/ dev / sdb1などと/ dev / SDB2、全体のSDカードのバックアップパスがあるように/ dev / sdbのです。
=は/ dev /場合はsudo DD:バックアップ・コマンドを入力し 、GZIP> /home/hanson/Documents/rpi-back2.gz | sdbとあなたが実際の選択へのバックアップファイルの保存場所、ファイル名、およびSDカードを保存するパス。ライン上で待機している、のような、スタックのような場合には、バックアップの端子がないのプログレスバー、。、別のターミナルを開き、次のコマンドを実行し、目標ファイルサイズが観測された変化をすることができことができます。
-d -n 5のls -lh /home/hanson/Documents/rpi-back2.gz見て

、本質的に、解凍が7.5Gになった後、このコマンドは、バックアップファイルは、唯一の1.9Gの完了後に.gzのファイルを圧縮し、同時にパッケージングすることができますだけでなく、カード全体をコピーします。
削減.imgの接尾辞を追加するには、Windowsが必要でファイルを抽出します。還元法のsudoのgzip -dc /home/hanson/Documents/rpi-back2.gz Linuxで| =の/ devのはsudo DD / sdaに
第二に、圧縮されたバックアップ
1.原則
ラズベリーパイの公式システムは、Debianに基づいており、主に2つのパーティション:ブートパーティション(ブート)、2つのパーティションは、SDカードに書き込まれているルートパーティション(ルート)、燃焼システム。すべてのSDカードの内容量を使用しての目的を達成するために、ルートパーティション、そのままブートパーティションのサイズを拡大する最初のブート後raspi-config設定を使用する必要がありますが(最新のシステムは、操作を拡張する必要がありません)。
バックアップラズベリーパイシステム、主にバックアップブートおよびルートパーティションの場合。コンテンツのみを格納する領域の一部であるルートパーティションは、残りは直接バックアップが、それは、上記のフルカードバックアップです全体SDカードバックアップ空間は、ある場合には、空です。圧縮されたバックアップは、バックアップブートパーティションおよびコンテンツ空間のルートパーティションです。


2. PiShrink切断
PiShrinkは、バックアップイメージのサイズを小さくするように、パーティションせずにコンテンツを削除し、フルイメージ・バックアップ・カードをddを切断又はWin32DiskImagerによって上記のコマンドとのGithubラズベリーパイ圧縮ツールで開いています。

まずフルカードwgetの実行ターミナルを開き、Linuxへのバックアップイメージファイルをコピー  https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh  /中/家にデフォルトの保存、ダウンロードshスクリプトファイルをユーザーディレクトリをこれは、文書の画像フォルダにコピーされました。chmodの+ X pishrink.shを実行することは、その後のsudo bashのpishrink.sh RPI-back.imgをすることができ、実行、実行権限を増加させました。


オリジナルの7.5ギガバイトのバックアップファイルは、3.4ギガバイトにまで低減されます。
Linuxシステムの言語が、中国の場合は、開発するsudoのpishrink.sh raspberrypi.img英語の必要性実行し、エラーの可能性があり
、比較的簡単である方法のshスクリプトファイル仕立てをよりあなたは、単にLinuxでのフルバックアップのカードをカットするために、コマンドラインを使用したい場合ファイルは、Linuxリファレンス作物ラズベリーパイのSDカードの完全なミラーを使用することができます
。3. gpartedのを
圧縮されたバックアップの原則によると、最初のルートパーティションでのみWin32DiskImagerとWindowsのバックアップソフトウェア上のスペースの内容を読んで、Linux環境でのスペースや空白を分割します。例として、Windows 10に、次の64ビット+仮想マシンのUbuntu 19.10、圧縮されたバックアップのラズベリーパイRaspbian系4b。
(1)仮想マシンを開き、ターミナルにsudoに入る傾向インストールGPartedをインストールGPartedの
リーダーにSDカードをバックアップする必要があります。(2)をしてから、コンピュータに挿入され、Linuxの読み出しに成功するのを待ちます。
(3)sudoを入力して、彼らは3.78Gを使用してext4のパーティションを設定見ることができ、右上隅にあるSDカードを選択し、GPartedの起動GPartedの、残り10.88Gは空白になっています。

(4)。ext4のパーティションを右クリックして、サイズを変更するには、右クリックして続行[アンインストール]をクリックし、とumount。


ライン上の最小サイズ(3689)よりも埋めるために新しい列のポップアップウィンドウの再割り当てサイズで(5)3または400大は、私はここに大きな300Mを持って、自動的にクリックで空き領域を計算し、次に右下隅をクリックしますサイズ変更は、その後、あなたは、元のパーティションの未割り当て領域を、残りの唯一の4.07G、10.58Gを見ることができます。

その後、(6)と、ダイアログポップアップのアプリケーションで確認するために、緑色のチェックマークボタンをクリックしてください。


実行のために(7)待ちが完了すると、あなたは14.66Gのパーティションを見ることができ4.07Gに減少し、その後、ここで行っLinux上で動作させるために、SDカードを取り出します。


(8)SDカードは、再度Windowsに差し込まれ、新しい空白のimgファイル、オープンWin32DiskImagerソフトウェアを作成し、ファイルを選択し、選択「「パーティションだけを読んで割り当てられている」(最新バージョンへの注意、古いバージョンがこれを持っていません機能)。


読み取りの完了のため、イメージ・バックアップの圧縮は、ソース画像ファイル3.9ギガバイト、4.5ギガバイトの画像ファイルのバックアップを終了し、圧縮場合、唯一の1.8ギガバイト、およびストレージ(9)待ち。


4.ラズベリーパイ/ Linuxのコマンドライン
に完全にLinuxのコマンド操作、使用ダンプを利用して、ミラーIMGラズベリーパイ、CSDNブログから特定のプロセスを作成するために復元するには、この方法では、私は、テキストのステップの練習をたくさん従ってください。

(1)閲覧システム容量のシェア
ラズベリーPiをすることができます、50%未満のSDカードスペースを取る場合のdf -hコマンドを使用して、最初は、将来的に生成されるバックアップイメージのサイズを決定するために、容量の現在のシェアをチェックしますラズベリーPiは、ミラー内に直接生成されます。それ以外の場合は、バックアップイメージは、外部SDカードの内部をマウントするために生成します。

ラズベリーは3.5G + 253M = 3.8gのサイズを占有二ルートとブートパーティションが分かる送信、フォーマット変換するので、それは5%〜10%の損失、1.1×3.8 =約4.2gの合計サイズであろう。残りのスペースよりもSDカードそんなに大きな紙を下に続くことができる場合。
必要な(2)ソフトウェアのインストール
はsudo apt-getをdosfstoolsにkpartxに別れダンプインストール
dosfstoolsを:FAT32パーティションのフォーマットツールは、ダンプ:バックアップツールをダンプ&復元partedの&kpartx:仮想ディスクツール
(3)計算システムの最初のステップ。スペースは、このプロセスが完了するまでに数分かかり、ddコマンドで4.5G程度の空白画像raspberrypi.imgを作成します。須藤のDDゼロ=の/ dev / IF = raspberrypi.img BS = 1Mカウント= 4500の
BS = 1M(1M = 1024x1024Bytes)は注意 。

(4)仮想ディスク分割
須藤のfdisk -l / DEV / mmcblk0によって学習:セクタ8192からセクタ532480始め、FAT32フォーマットを使用して、最初のパーティションのブートパーティションと、EXT4は、2番目のパーティションを使用して、セクタ540672から始まります空白のIMGの終わりまで。

partedをraspberrypi.img --scriptはsudo - mklabel MSDOS
のsudo partedのraspberrypi.img --script -プライマリFAT32の8192s mkpartをし532480s
mkpartをプライマリ540672s -1のext4 - sudoを--script partedのraspberrypi.img
パーティションの開始セクタ番号を8192の倍数である、上記のコマンドは、基本的に8192に固定されており、532480と540672は、あなた自身の状況に応じて実際のクエリは、ファイルの終わりを表す-l修正しました。
プログラム内のパーティションのsudo partedをraspberrypi.img、partedのの成功を確認し、パーティションの内容freeコマンドが表示され、印刷終了にquitを入力する入力します。

。(5)と、仮想ディスクフォーマットマウント
ループデバイスを対応するセットIMGファイル:須藤losetupを-f --show raspberrypi.img次のコマンドライン出力は/ dev / loop0。(そうでない場合はloop0 loop0で、今後様々な手順は、ここで変更すると同じしなければならない場合)。

その後、sudoのkpartx -vaは/ dev / loop0


/(ルート)に対応するこのループにデバイスが設定されているIMGファイルにloop0p1相当/ブートパーティション、loop0p2。
IMGファイルフォーマットして、2つのパーティション。
-nブートmkfs.vfat sudoのは/ dev /マッパー/ loop0p1
sudoのmkfs.ext4は/ dev /マッパー/ loop0p2

新しいディレクトリの下に、対象のimgファイルにループデバイスをマウントします。
MKDIR tgt_boot tgt_Root sudoのマウント-t VFAT -o UID =パイ、GID = PI、のumask = 0000の/ dev /マッパー/ loop0p1 ./tgt_boot/ sudoのマウント-t ext4のは/ dev /マッパー/ loop0p2 ./tgt_Root/
ここツリーシステム内部のベリーパイは、それが他のLinuxシステムであれば、uidとgidの設定に注意してください、バックアップ操作を行います。
(6)スタートのバックアップ
[バックアップ/ブート]
まず、バックアップ/ブーツは、あなたが直接コピーすることができますsudoのcpは-rfp /ブーツ/ * ./tgt_boot/ ( 他のLinuxシステムを使用している場合、/ブーツ/ *あなたのマウントへこのようDEV / sdb1などとしてSDカードは、)

杭先端の外を使い果たし:の所有権を維持するために失敗した...、次を表示するグラフィカルインターフェイスを入力します。


ファイルが成功したコピーされますが、ファイルのパーミッションは、ほとんど効果がコピーされません。

[バックアップ"/"]
ダンプとルートファイルシステム/方法、ターゲットに適切な権限がポイントをマウントし、空に最初のセットを復元します。(他のLinuxシステムならば、対応するユーザー名とユーザーグループpi.piを置き換えます)
はchmod 777 tgt_Root ./tgt_Root/* tgt_Root CD -rfにsudo chownをpi.pi tgt_Rootのsudo RM / sudoを
バックアップ開始する前に
sudoのダンプ-0uafを- / |須藤-rf復元- (あなたが他のLinuxシステムを使用している場合は、/などDEV / SDB2としてあなたのマウントSDカードへ)

ダンプ全体/復元プロセスダンプを見るために数分かかり行われ、バックアップが成功した示しA。
上記の方法はsudoダンプが...壊れたパイプは、不当命令エラーこのような段差が発生することに失敗した場合、あなたは、タール方法、パッケージソースSDカードのルート・ファイル・システムを使用する機械・システム・スペース内に追加し、ソースSDカードの必要性そうすることができます利用可能なスペースの大きさとしてスペースを使用し、ルートファイルシステムは、詳細なプロセスは、原作者を確認してください。
。(7)PARTUUIDの変更
バックアップが完了している場合は、次の2つのドキュメント内のターゲット・ファイルを変更、対応するパーティションブートRaspbian PARTUUID、すなわちIMGを変更する必要があります./ tgt_boot / cmdline.txtと./tgt_Root/をなど/ fstabの
初見のIMGファイルに対応するループデバイスがPARTUUID 2つのパーティションです:sudoはBLKID

あなたが見ることができるここに/ブート対応594e62d6-01は、/ 594e62d6-02に対応します
変更は、須藤VI ./tgt_boot/cmdline.txtファイルcmdline.txt

fstabのファイルVIM ./tgt_Root/etc/fstab須藤変更


(8)作業を終了する。
アンインストール各パーティションを搭載:須藤アンマウントtgt_boot tgt_Root
ループデバイスを削除:須藤kpartx - Dは/ dev / loop0とsudoのlosetupは-dの/ dev / loop0
ポイントディレクトリをマウント削除します。rmdirをしtgt_Root tgt_boot
最後だけのimgファイルを

WinSCPをで保存Windowsコンピュータにコピーします。ラズベリーは、又はDDに直接送信する場合= /ホーム/ XXX / xxx.img =は/ dev / sdbとBS = 4Mの、同期別のSDカードにプログラムされたIMGファイル(使用=画像ディレクトリが指定されている場合、外部Uディスク=デバイスのアドレスが同一のラズベリーパイ、第raspi-設定と最初に実行した後、)必ずしもSDB、指定された最後のライトワンスBS = 4Mバイト、同期同期データを指定するために使用されるのパーティション領域は、それを展開します。
この方法は、より多くのステップが、ステップダウンで行くのステップを輝くが、全体バックアップのすべての技術的な詳細についての詳細な知識を有することができます。
バックアップキー5. shスクリプト
純粋なLinuxのコマンドライン面倒なバックアップを圧縮するステップは、すべてのステップは、スクリプトファイル.SHに書き込むことができますが、これだけのスクリプトファイルが自動的に圧縮されたバックアップコマンドを実行します実行する必要があります。
ラズベリーパイでのみ.SHファイルを作成する必要がsudoのviのbackup.sh、須藤のchmod 777 backup.sh変更の権限上記のスクリプトを使用して、その後、./backup.shは、現在のスクリプトのディレクトリにバックアップラズベリーパイを生成することができますSUDOその後、イメージファイル、およびまた、手動で次のPARTUUIDを変更する必要があります。SDカードへのいずれかのWindows Win32DiskImagerリカバリイメージを使用した後、あなたは、Linux、このSDカードを行うraspi-config設定とラズベリーパイの開始でのddコマンドを使用してSDカードに復元することができます- >ファイルシステムの拡張を展開することはできませんスペースを使用しました。
shスクリプトは、最初に使用するために読むことができるようにする必要があり、いくつかのパラメータは、独自の環境に合わせて変更する必要があります。エラーは、問題の原因を見つけることは容易ではない場合はshスクリプトは、それはあなたが変更したステップ間違って知ることができますので、通過来て、このスクリプトを使用する最初のLinuxコマンドすべてのプロセスを示唆されました。
6.推奨されるスクリプト
のスクリプトがありますが私の最も推奨され、プログラムの内容があまりにも長い間、私は、私は現在のバックアップ方法を使用しているものTieshanglai、私は完全には理解していないスクリプトの具体的な内容、とにかく使いやすいですしていませんさ:あなたは、以下の方法を使用、ダウンロードするためにここに行くことができ
STEP1:Linuxシステムにスクリプトファイルrpi-backup.shをダウンロードし
、LinuxシステムにSDカードをバックアップする必要が問い合わせの下でデバイス名に対応する-h SDカードdfをコマンドを使用します。STEP2を。

STEP3:スクリプトファイルディレクトリにrpi-backup.sh、唯一の次の2つのコマンドSDカードのバックアップを完了するために、最終的にはIMGファイルは〜/ backupimg /フォルダに生成されます。
須藤chmodの+ X rpi-backup.sh(実行権限を書き込むために必要)
./rpi-backup.shは/ dev / sdb1などは/ dev / SDB2( スクリプトの実行は、2つのパラメータがあり、最初のパラメータはラズベリーパイSDカード/ bootパーティションのデバイス名です:は/ dev / sdb1が、2番目のパラメータはあります/パーティションのデバイス名:は/ dev / SDB2、変更の対象)

第三に、要約
、カード全体のバックアップを使用すると、初心者の白であれば、確かにお勧めできません、あなたがWindowsのWin32DiskImagerやラズベリーに使用することを推奨し、SDカードに来ますコピー機カードフルバックアップしてからカット、コードPiShrinkの最小量で、シンプルでエラーを起こしやすいではないが、時間がかかります。
あなたは、Linuxは、GPartedのグラフィカルインタフェースを使用したLinux仮想マシンにバックアップすることができます単語の基本的な操作に精通している場合。

おすすめ

転載: www.cnblogs.com/bongem/p/12312878.html