Debian の新しいバージョンをインストールしました。home
私のバックアップバージョンを使用していくつかのファイルも復元したいと思いますetc
。バックアップは rsnapshot を使用して作成されました。
不明なのは、どのユーザーから復元コマンドを実行する必要があるかです。たとえば、見てみましょう。私のrsnapshot
ファイルを回復したいとしましょう/etc/cron.d/
。デフォルトでは、新しくインストールされたバージョンには次の権限が表示されます。
station:~$ ls -l /etc/cron.d/rsnapshot
-rw-r--r-- 1 root root 472 Mar 26 2016 /etc/cron.d/rsnapshot
この場合、rootまたはsudoでrsyncコマンドを実行する必要があります。つまり、テスト中です。
@thinkstation:~$ rsync /media/3985DAA24356D774/rsnapshot/station/daily.0/etc/etc/cron.d/rsnapshot /etc/cron.d/rTest
ただし、これにより次の権限が発生します。
station:~$ ls -l /etc/cron.d/rTest
-rwxr-xr-x 1 root root 513 Sep 24 19:01 /etc/cron.d/rTest
これはシステムのデフォルト値と一致しません。
もっと残念なもう一つの例です。通常のユーザー(rootではない、sudoではない)でrsyncコマンドを実行します。私が復元したファイルはgitを介してバージョン管理されたプロジェクトでした。すべてのファイルがgithubにないため、復元しました。復元後、権限の変更により多くの違いがあることを確認しました(ファイルにsudo権限が含まれておらず、私のhome
ディレクトリに移動されたため理解できません)。それで、私は以前にバックアップしたときに間違いをしたのか、ファイルを復元するときに間違いをしたのかわかりません。とにかく、この問題を解決する方法を知りたいです。
答え1
あなたは言わなければなりません同期権限を復元したいです。これに基づいて、man 1 rsync
次のオプションを使用して個々のファイルを回復することをお勧めします。
-p, --perms preserve permissions
-t, --times preserve modification times
-o, --owner preserve owner (super-user only)
-g, --group preserve group
-a
通常、個々のファイルに必要なものよりも多くのオプションを含むrsyncベースのバックアップからコンテンツを復元することをお勧めします。したがって、コマンドは次のようになります。
rsync -ptog /media/3985DAA24356D774/rsnapshot/station/daily.0/etc/etc/cron.d/rsnapshot /etc/cron.d/rTest
または、長いオプションを使用してください。
rsync --perms --times --owner --group /media/3985DAA24356D774/rsnapshot/station/daily.0/etc/etc/cron.d/rsnapshot /etc/cron.d/rTest
--owner
を指定したので、--group
両方のユースケースで機能します。
個々のファイルではなくディレクトリを繰り返し復元したい場合は、コピーされた内容を知らせる-a
thisと共にこのオプションが役に立ちます。-v
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-v, --verbose increase verbosity