web-dev-qa-db-ja.com

dd、pv、gzip、および除外ディレクトリ、可能ですか?

次のことを行うことは可能ですか?

dd if=/dev/hdx | pv | gzip > /path/to/image.img\
--exclude=/temp --exclude=/lost+found --exclude=/proc --exclude=/path/to/image.img

したがって、gzipで圧縮されたイメージのバックアップを作成したいのですが、一部のディレクトリとファイルが書き込まれている場所を除外したいのですが、どうすればよいですか?

1
magamig

一部のディレクトリやファイルを除外する場合は、ddを使用しないでください(セクターをランダムに削除してファイルシステムを破損することなく)。

また、マウントされたパーティションの適切なddバックアップを作成することもできません。同じ理由で、マウントされたパーティションをfsckすることはできません(あなたが求めているように聞こえるので"私は` dd if = sda of = sda "

そして、ddを使用する代わりにpvを使用してこれを行うことができます。

実行中の「dd」プロセスにUSR1シグナルを送信すると、I/O統計が標準エラーに出力され、コピーが再開されます。

$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid

18335302 +0レコードの18335302+ 0レコードの出力9387674624バイト(9.4 GB)コピー、34.6279秒、271 MB/s

ただし、次のようなオプションを使用してtarを使用した方がよいでしょう。

 --exclude=PATTERN
       exclude files, given as a PATTERN

 --exclude-tag=FILE
       exclude contents of directories containing FILE, except

 --exclude-tag-all=FILE
       exclude directories containing FILE

 --exclude-tag-under=FILE
       exclude everything under directories containing FILE

 -z, --gzip, --gunzip --ungzip

 -J, --xz

 -T, --files-from FILE
       get names to extract or create from FILE

 -X, --exclude-from FILE
       exclude patterns listed in FILE

見る man tarそしてウェブ上の無数の例。

ファイルがディスク上の特定の場所にあることを期待する奇妙なOSまたはプログラムをバックアップする場合を除いて、全体のddコピーが必要になる場合がありますマウント解除パーティション/ディスク、gzip/xz/etcにパイプされます。

1
Xen2050