LFTPがイメージから「古いファイルを削除」するのはなぜですか?

LFTPがイメージから「古いファイルを削除」するのはなぜですか?

バックアップ目的でLFTPを使用してWebサイト(Webサイト管理者)をミラーリングしようとしています。

私はLFTPコマンドを使用します(個人情報を保護するために実際のパス、ユーザー名、およびパスワードが変更されました)。

mirror -e -p --verbose=1 /public_html /mnt/lobster3raid/<path>/public_html

動作中です。 Webサーバーで変更されていない場合でも、LFTPはミラーからすべてのファイルを削除してから再送信します(毎回すべてのファイルからこのコンテンツを取得します)。

Removing old file `<path>/IMG_2003.jpg'
Transferring file `<path>/IMG_2003.jpg'
Removing old file `<path>/IMG_2004.jpg'
Transferring file `<path>/IMG_2004.jpg'
Removing old file `<path>/IMG_2005.jpg'
Transferring file `<path>/IMG_2005.jpg'

変更された/最新のファイルのみを転送するLFTPミラーを実行するには?

追加の背景:

ターゲットイメージは、Windows共有¥¥LOBSTER3¥raidにあります。私はWindowsでこれを行っています。私はしばらくCygwinのLFTPを使用してきましたが、最近Windowsで権限の問題に直面しました(明らかにCygwinのLFTPはWindowsが好きではない権限を設定します)。

私はwsl(Ubuntu)でLFTPを使用しています。 Windowsでこのバッチファイルを実行します。

wsl -u root -- mkdir /mnt/lobster3raid
wsl -u root -- mount -t drvfs \\\\lobster3\\raid /mnt/lobster3raid
wsl -- lftp -u <username>,<password> <url> -e 'set ssl:check-hostname no; mirror -e -p --verbose=1 /public_html /mnt/lobster3raid/mirrors/1day/public_html'

ベストアンサー1

オプションなしでミラーコマンドを使用すると、ターゲットにすでに存在するかどうかに関係なく、ソースからターゲットにすべてのファイルが送信されます。これは、ミラーリングのデフォルト動作がターゲットの既存のファイルを上書きするためです。正確にソースファイルツリーをコピーします。

探しているオプションは、次の--only-newer最新のファイルのみを再アップロードします。FTPドキュメント

したがって、あなたの場合、バッチファイルは次のようになります。

wsl -u root -- mkdir /mnt/lobster3raid
wsl -u root -- mount -t drvfs \\\\lobster3\\raid /mnt/lobster3raid
wsl -- lftp -u <username>,<password> <url> -e 'set ssl:check-hostname no; mirror -e -p --verbose=1 --only-newer /public_html /mnt/lobster3raid/mirrors/1day/public_html'

おすすめ記事