rsyncを使用して特定のサブディレクトリセットをコピーしてバックアップしようとしています。私のディレクトリ構造は次のとおりです。
/path/to/data/foo1
/path/to/data/foo2
/path/to/data/bar1
/path/to/data/bar2
「bar」フォルダは無視して「foo」フォルダだけをコピーしたいと思います。
また、このフォルダ内のすべての.zipファイルを無視したいと思います。
rsyncでさまざまなパラメータの組み合わせを試しましたが、目的の方法で正しく機能させることはできません。
転送を実行するには、2 つのコマンドを使用できます。
rsync --dry-run -a --human-readable --stats --progress --exclude"*.zip" "/path/to/data/foo1" "/mnt/backup/drive/"
rsync --dry-run -a --human-readable --stats --progress --exclude"*.zip" "/path/to/data/foo2" "/mnt/backup/drive"
他の場所を読んで、これがうまくいくことを願っていました。
rsync --dry-run -a --human-readable --stats --progress --include="data/foo*" --exclude="*.zip" --exclude="*" "/path/to/data" "/mnt/backup/drive"
しかし、これは「bar」フォルダもキャプチャしているようです。
--include および --exclude パラメータの順序が混乱しています。 --includeパラメータに "data"フォルダを指定する必要があるため、これは私が期待した機能ではありません。
私が逃している本当に隠すことができない信号です!
ご意見ありがとうございます。
本
ベストアンサー1
次の方法でrsyncを実行できます。
rsync --dry-run -av --human-readable --stats --progress --exclude="*.zip" /path/to/data/foo* /path/to/copy/to/
おそらく、次のようにコマンドを短くしたいと思うかもしれません。
rsync -avhn --stats --progress --exclude="*.zip" /path/to/data/foo* /path/to/copy/to/
から引用人の同期
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-v, --verbose increase verbosity
-h, --human-readable output numbers in a human-readable format
-n, --dry-run perform a trial run with no changes made
コマンドを実行する準備ができたら、以下を行う必要はありません。-n
このパラメータを使用してログファイルを保存することもできます。
--log-file=
したがって、上記のrsyncコマンドは次のようになります。
rsync -avhn --stats --progress --exclude="*.zip" --log-file=logfile.log /path/to/data/foo* /path/to/copy/to/
ログファイルは、コマンドが実行されたディレクトリに書き込まれます。別の場所に保存する必要がある場合は、絶対パスを使用する必要があります。たとえば、
--log-file=/path/to/logfile