私は新しいNASボックスを持っており、多数のバックアップソリューションを調べた後、PuTTYを介して手動で実行すると最適に機能することがわかりました。
ルートとしてPuTTYを介してボックスにログインした後、最初にディスク全体をUSB HDDにコピーする必要があります(週に1回)。私は使用しています:
cp -Rp /data/Backup /media/USB_HDD_3/Backup
代わりにrysnc -a
を試してみましたが、ファイル自体はmtimeを保持しますが、ディレクトリは保持しないという同様の結果が得られます。
その後、毎日増分バックアップを実行します。私が構築しているもの:
find . -mtime -2 -exec cp -Rp {} /media/USB_FLASH_1/ \;
繰り返しになりますが、cp - Rp
をrsync -a
に置き換えてみましたが無駄になりました。 mtimeも調べていないように、バックアップ全体が転送されることになります。
私はLinuxとUnixにかなり慣れていないので、これのほとんどはネット上で見つけたものから適応し、それらを一緒にスロットに入れようとしました。これがおそらく機能しない理由です。
rsync -a
は、次の場合に機能するはずです。
rsync -av /data/Backup /media/USB_HDD_3
ディレクトリのタイムスタンプが保持されていない場合、これはおそらくrsync
バージョンのバグです。別の方法として、GNU cpio
:
find . -mtime -2 -print0 | cpio -0mdp /media/USB_FLASH_1
またはより移植性があります(改行付きのファイル名は処理しません):
find . -mtime -2 | cpio -mdp /media/USB_FLASH_1
BusyBox
ビルドには、さまざまなツールの簡略化されたバージョンが含まれていることが多いことに注意してください。完全に構築された場合でも、POSIXに完全には準拠していません。また、cpio
は実際にはPOSIX
標準に含まれていません。お使いのバージョンのBusyBox
は、-p
オプションをサポートせずにビルドされている可能性があります。これらのオプションを有効にしてcpio
を使用する必要があります。
上記をGNU cpio
でテストしました。古い標準が何であったかへのリンクが見つかりませんが、おそらくそれに準拠するものはすべてこれらのオプションをサポートします-0
を除く。
rsync
には、すべてのファイルの転送を回避するための更新オプションが必要です。man rsync
マニュアルページを提供し、オプションの下に、
-u, --update skip files that are newer on the receiver --inplace update destination files in-place
それが何をしているのかを理解するのを助けるために、冗長モードに-vオプションを使用することができます。
-v、-verboseこのオプションは、転送中に提供される情報の量を増やします。デフォルトでは、rsyncはサイレントに動作します。単一の-vは、転送されているファイルに関する情報と、最後に簡単な要約を提供します。 2つの-vオプションを使用すると、スキップされているファイルに関する情報と、最後に少し多くの情報が提供されます。 3つ以上の-vオプションは、rsyncをデバッグする場合にのみ使用する必要があります。
Note that the names of the transferred files that are output are done using a default --out-format of "%n%L", which tells you just the name of the file and, if the item is a link, where it points. At the single -v level of verbosity, this does not mention when a file gets its attributes changed. If you ask for an itemized list of changed attributes (either --item‐ ize-changes or adding "%i" to the --out-format setting), the output (on the client) increases to mention all items that are changed in any way. See the --out-format option for more details.