そのため、リモート サーバーからアクセス ログを取得して処理する Python プログラムがあります。日ごとに個別のログ ファイルがあります。サーバー上のファイルは次の形式です。
access.log
access.log-20130715
access.log-20130717
ファイル「access.log」は当日のログ ファイルで、新しいデータで 1 日を通して変更されます。タイムスタンプが追加されたファイルはアーカイブされたログ ファイルであり、変更されません。ディレクトリ内のいずれかのファイルが変更された場合は、(1) データが「access.log」ファイルに追加されているか、(2) 「access.log」ファイルがアーカイブされており、空のファイルが代わります。私のプログラムは約 1 分ごとにディレクトリ内のファイルの最新の変更時刻をチェックし、変更された場合は「access.log」ファイルと新しくアーカイブされたファイルをプルダウンします。
現在、これらすべてが正常に機能しています。ただし、1 日を通して大量のデータがログ ファイルに追加される場合、ファイルの末尾にあるデータの一部を取得するためだけにすべてを何度もダウンロードすると、ネットワーク上に大量のトラフィックが発生します。それを避けたい。ファイルの一部だけをダウンロードする方法はありますか? 1 GB のファイルを処理済みで、さらに 500 バイトが突然ログ ファイルに追加された場合、最後に 500 バイトのみをダウンロードする方法はありますか?
私は Python 3.2 を使用しており、ローカル マシンは Windows を実行しており、リモート サーバーはすべて Linux を実行しています。SSH および SFTP 接続を確立するためにChilkatを使用しています。どんな助けでも大歓迎です!