回答:
これは、システムの復元方法に大きく依存します。再構築する場合は、サービスの構成/データファイルのみが必要です(例:/ etc、/ opt、/ var、/ home)
システム全体を復元した後は、/ proc、/ boot、/ devを省略できます。次に、ブートメディアから最小OSをインストールし、バックアップを介してシステムを復元できます。
もちろん、最良のバックアップはテストおよび検証されたものです。
そのため、必要ではないと思われるものは省略し、VMで復元して、このデータを使用してシステムを取り戻すことができることを確認してください。
両方/proc
と/sys
システムの状態を反映して、あなたは、いくつかの実行時パラメータを変更する(そして時にはメモリに直接またはデバイスへの書き込みのように、より危険なことを行う)することを可能にする仮想ファイルシステムです。バックアップまたは復元しないでください。
ほとんどの最新のディストリビューションで/dev
は、起動時に動的に作成されます(udev
友人や友人によって満たされたメモリファイルシステムです)。バックアップする意味はありません。復元しようとしても無駄です。ただし、使用しているディストリビューションがstaticを使用するように設定されている場合/dev
、これは適用されません(メモリファイルシステムの/proc/mounts
場合/dev
はチェックしてくださいtmpfs
)。
バックアップすべきではない他のファイルシステムがあります。usbfs
(通常は/proc/bus/usb
すべてに搭載されている場合、)、 debugfs
(ですることになって/sys/kernel/debug
、すべてに搭載されている場合、一部の人々は、どこか別の場所にそれを置く、あなたはおそらく、このいずれかを持っていない)、 devpts
(に取り付けられた/dev/pts
)、他のtmpfs
多くの場合で見つけられたインスタンス(/dev/shm
、/var/run
、/var/lock
、およびその他の場所。それらをバックアップして復元することは無害ですが、内容がシャットダウン時に失われるため無意味でなければなりません)、およびリモートファイルシステムまたはマジックオートマウンターディレクトリ(それらをバックアップまたは復元しようとすると、災害が発生する可能性があります最終的に別のマシンへのバックアップ/復元を行います)。また、に注意する必要が/media
あります/mnt
、外部デバイス(ドライブで忘れたCDなど)がそこにある可能性がありますが、バックアップする必要があるものをマウントする目的でそれらを使用した可能性もあります。
注ほとんど無害以外の、そのtmpfs
インスタンス、ネットワークファイルシステム/マウンタ、およびリムーバブルメディア、ファイルシステムが、あなたはすべてバックアップの子孫あるべきではない/dev
、/proc
または/sys
。ネットワークファイルシステム(またはオートマウンター)とリムーバブルメディアがない場合は、(インスタンスを消去するために)復元後に除外/sys
し/proc
て再起動するtmpfs
だけで十分です。
The Tao Of Backupの第1章を参照してください。
/ boot、/ dev、および/ procは、バックアップにはまったく役に立ちません。ただし、何をしているのかわかっている場合は、/ bootをバックアップできます。
また、/ lib、/ media、/ mnt、/ sbin、/ bin、/ srv、/ sys、または/ tmpをバックアップしません。
/ usrには、バックアップする価値のあるものがあるかどうかに応じて、オプションです。私があなたなら、ユーザーの$ HOME、/ var、および/ etc(構成ファイル用)のバックアップについて最も心配しています。
繰り返しますが、これは本当にあなたがしたいバックアップの種類に依存します。これはWebサーバーですか?これはパソコンですか?これは、/ homeの下に多数のディレクトリがあるシェルサーバーですか?
rsync
もしあなたが使用しているだけで何をコピーするだけでなく、あなたが安全にするためにcronジョブを実行することができますので、将来の同期を有効にしないだけ。
sfdiskとddを使用して完全なバックアップを実現できます。
各ハードドライブのパーティション構成をバックアップするには、次のようにsfdiskを使用します。
sfdisk -d /dev/sda > parttable_sda.part
各パーティションをバックアップするには、次のようにddを使用できます。
dd if=/dev/sda1 of=devsda1.img
/dev/sda1
ライブCDブートなどでマウントされていない場所。
(このファイルを書き込むには多くの空き領域が必要になることに注意してください。したがって、外部メディアに書き込むことをお勧めします)パーティションごとに一度に1つずつ行い、すべてをバックアップします。
次に、別のコンピューターで復元するには、次の操作を行います
sfdisk /dev/sda < parttable_sda.part
dd if=devsda1.img of=/dev/sda1 # do this for each partition
dd if=/dev/urandom of=/dev/sdb bs=512 count=12
、ターゲットドライブのMBRとパーティションテーブルを消去することが重要です。
除外する代わりに、通常は必要なものだけをバックアップします。含む:(/home
/etc
/var
を除く/var/log
)
基本的に、擬似ファイルシステム(/ proc、/ sys、/ dev / shm ...)をバックアップする必要はありません。
この素晴らしいコミュニティが指摘したように:
/ dev / proc / sys / tmp / run / media / lost + found / boot(/ bootはオプションで、他のコメントを参照)
参考のために、最後のrsyncコマンド(外部メディアが '/ run / media / fred / INTENSO /'にマウントされ、 'fred'という名前のフォルダーにバックアップされているArchの下)は次のとおりです。
$ sudo rsync -Pazhmxv --exclude / run / media --exclude / dev --exclude / lost + found --exclude / tmp --exclude / proc --exclude / boot --exclude / sys / / run / media / fred / INTENSO / fred /。
(除外ファイルは、Bashの下に中括弧(--exclude = {/ dev、/ proc})またはテキストファイル(--exclude-from = 'excude.txt')で指定することもできます)。
-P:進行状況を表示-a:アーカイブモード-z:転送中に圧縮-h:人間が読める形式で数値を出力-m:空のディレクトリを削除-x:1つのファイルシステムに制限-v:詳細
私はUbuntu 18.04マシンを使用していますが、これらは除外されています:
/dev/
/proc/
/sys/
/tmp/
/run/
/mnt/
/media/
/lost+found/
/cdrom/
/swapfile
また、私のセットアップに特化して、これらを除外します:
/home <-- Backed up separately
/backup <-- Mount point for backup disks
/data <-- Mount point for data disks, which are backed up off-site
/scratch <-- Mount point for volatile fast SSD scratch disk
私は通常、システム上のすべてをバックアップする習慣をつけています。特定のことを知っていても、バックアップするのは無意味です。設定が簡単で、バックアップに必要なものをすべて確実に含めることができます。
/proc
、/dev
貧しい人を少し混乱させないようにrsync
。
質問:サーバーのバックアップ時に除外するディレクトリはどれですか?
Ubuntu 16.04 LTSラップトップからUbuntu 16.04 LTSサーバーまで、よく使用するスクリプトを次に示します。完全バックアップの作成中にスキップするディレクトリを明確に示しています。
echo "EMPTYING TRASH"
rm -rf ~/.local/share/Trash/* >/dev/null 2>&1
echo "DELETING OLD LOGS"
sudo rm -f /var/tmp/* >/dev/null 2>&1
sudo rm -f /var/log/*.gz >/dev/null 2>&1
sudo rm -f /var/log/kern* >/dev/null 2>&1
sudo rm -f /var/log/messages* >/dev/null 2>&1
echo "DELETING CHROMIUM CACHE"
rm -rf /home/pi/.cache/chromium/Default/Cache/* >/dev/null 2>&1
echo "====================================================================="
echo " BEGINNING RSYNC from PAV root to PRIME5:/mnt/full/pav"
echo "====================================================================="
time sudo rsync -aAXv \
/ \
--bwlimit=500 \
--delete \
--delete-excluded \
--ignore-errors \
--exclude="/dev/*" \
--exclude="/proc/*" \
--exclude="/sys/*" \
--exclude="/tmp/*" \
--exclude="/run/*" \
--exclude="/mnt/*" \
--exclude="/media/*" \
--exclude="/lost+found" \
abc@prime5:/mnt/full/pav
echo "====================================================================="
df -h
/mnt
- の除外に注意してください。これはrsync
、1日4回、各Ubuntuシステムにcronベースのセルフバックアップ用にフルタイムバックアップドライブがマウントされている場所です。これらのドライブは、エントリによってマウントされfstab
、常に存在します。別のシステムへのバックアップにそれらを含めることは重複します。
同様に、/media
USBドライブがマウントされる場所です。それらは個別にバックアップされます。
/boot
完全に省略しないでください-古いブート構成と新しいブート構成を比較する必要があるかもしれません。ただ、しないようにしてください復元/boot
を手動除き。