RSYNCは新しいファイルを別のディレクトリにコピーします。

RSYNCは新しいファイルを別のディレクトリにコピーします。

リモートディレクトリに次のファイルがあります。今日のファイルと以前の実行失敗をローカルディレクトリにコピーするだけです。

例:リモートから:

aa.txt
aa-18-04-2017.txt
aa-17-04-2017.txt

aa.txtローカルでファイルを新しいディレクトリに同期する必要があります。

最後の実行が失敗した場合は、両方のファイル(aa.txtおよびaa-18-04-2017.txt)を再同期する必要があります。

誰でもこの問題を解決するのに役立ちますか?

現在、RSYNCはすべてのファイルをローカルディレクトリにコピーしており、毎日の保存に問題があります。

ベストアンサー1

rsync非常に包括的なマニュアルページがあり、これを行う方法のいくつかの例もあります。あなたが望むものについての私の意見は次のとおりです。

rsync -auv remotemachine:/path/to/srcdir/ /path/to/dest_dir

いくつかの仮定をしました。設定が異なり、さらにヘルプが必要な場合は、追加情報で質問を更新してください。

仮定:

Remotemachineにはrsyncサーバーが設定されています。 (ssh接続は可能ですが構文が少し異なります)

- アーカイブモードはいくつかのオプションを自動的に設定しますが、これは通常バックアップに必要なものです。

-u 更新モード、存在しない、サイズが異なる、または最後の変更時刻が異なるファイルのみをコピーします (ソースファイルはすでに持っているファイルより最新です)。

末尾のスラッシュは、ターゲットの追加レベルを避けるsrc_dirためにファイルをsrcdir /にコピーすることを意味します。dest_dir

-v何が起こっているのかを見るための詳細モードです。

これをテストするには、-nコピーをスキップしますが、実行するアクションを示すオプションをさらに使用します。

ただし、マニュアルページを読んでテストすることをお勧めしますman rsync

[編集] 以下の@Devの最初のコメントに従います。

中間ステップがある場合、対応するdest_dirは実際にはオフラインアーカイブのための一時的なローカルストレージの場所です。その後、正常にアーカイブされたファイルのリストを作成し、この--exclude-from-file=/some/where/exclude_list.txtオプションを使用できます。

おすすめ記事