web-dev-qa-db-ja.com

ローカルファイルのすべてのタイムスタンプを、対応するftpホストファイルのタイムスタンプと一致させる必要があります

クライアントの「タイムスタンプを保持する」オプションをチェックせずに、オフサイトのバックアップ場所(ftpサーバー)から最大10GB相当のファイルを台無しにしてダウンロードしました。

ローカルファイルを備えたPCは、インターネットアクセスにWiMax(4Gセルラー)接続を使用するネットブックであり、この操作により、毎月の帯域幅すべてに加えて、追加の帯域幅が250ドル使用されました。

Ftpサーバー上のミラーリングされたコピーを更新するアプリに問題があります。すべてのファイルのタイムスタンプが同じであり、サーバー上のコピーよりも新しいように見えるため、すべてが新しいと見なされます。すべてをもう一度アップロードしたいのですが、これは受け入れられないオプションです。

〜10GBをすべて再度ダウンロードする以外に、ftpでホストされているファイルから対応するローカルファイルにタイムスタンプを転送する方法を探しています。誰かがそれをする方法を知っていますか?

私が懸念しているもう1つの問題は、両方の場所に存在するファイルの一部が変更されていることです。これを考慮せずにすべてのタイムスタンプを変更すると、一部が後でミラーリングされないのではないかと心配しています。すべてのタイムスタンプを変更することに加えて、各場所のファイル間の違いを比較し、ハッシュなどに従ってサーバーのファイルを更新する方法が必要になります。幸いなことに、ftpサーバーはハッシュをサポートしています。私はそれをするために私がそれをするのに必要なことをすることができるどのクライアントを知りません。誰かがクライアントにそうすることを勧めることもできますか?

前もって感謝します。

更新:

Ftpクライアントのフォーラムに同様のメッセージを投稿し、転送全体を最初からやり直すようにアドバイスする返信を受け取りました。クライアントが、ローカルにすでに存在するファイルをどうするかを尋ねられたら、ファイルを「再開」するように設定します転送。

この操作は現在非常にうまく機能しており、クライアントはタイムスタンプを保持するように設定されているため、必要に応じてすべてをサーバー上のタイムスタンプに変更しています。

5
cdvonstinkpot

私は同じ間違いをしました。タイムスタンプを保存せずに多くのファイルをダウンロードしました。著者は解決策を見つけましたが、使用したFTPクライアントについては述べていません。

次のソリューションは、[〜#〜] ftp [〜#〜]を介して利用可能なfiles(Microsoft Windowsでは「datemodified」とラベル付けされている)のタイムスタンプを更新します FileZillaクライアント 。フォルダのタイムスタンプを同期するための解決策が見つかりません。

FileZilla 3.7.3の使用
1。タイムスタンプの保持をオンにします:Transfer > Preserve Timestamp ...
2。履歴書の転送をオンにします:Transfer > Default file exists action...
3。次に、Downloads: Resume file transfer(またはタイムスタンプエラーが他の方向にある場合はアップロードを設定します)
4。ダウンロードを再開します。既存の完成したファイルのタイムスタンプが更新されます。

注:FTPは比較的単純なプロトコルであるため、リモートFTPサーバーの各ディレクトリで再帰的なリストが再発行されます。多くのファイルとディレクトリがあるサーバーの場合、これには時間がかかります。

サーバーが[〜#〜] sftp [〜#〜]の場合、WinSCPを使用してタイムスタンプを同期できます。
1。適切なディレクトリに移動します
2。 Commands > Sychronize
3。 SFTPサーバーに接続している場合は、「モード」でタイムスタンプを同期するオプションが表示されます。
参照、 https://winscp.net/eng/docs/task_synchronize_full#mode

3
adam