0

にサーバーがありますhostname.com/files。ファイルがアップロードされるたびに、ダウンロードしたいと思います。

filesディレクトリを常にチェックするスクリプトを作成することを考えていました。サーバー上のファイルのタイムスタンプをチェックし、それに基づいてダウンロードします。

bash スクリプトを使用してファイルのタイムスタンプを確認することはできますか? これを行うより良い方法はありますか?

サーバー内のすべてのファイルを 1 時間ごとにダウンロードできます。したがって、cron ジョブを使用する方が良いでしょうか?

4

1 に答える 1

0

ファイルを定期的に更新したい場合は、おそらく cron ジョブが最適です。チェックを行うスクリプトを作成し、それを 1 時間間隔で実行するだけです。

@Barmarが上でコメントしたように、rsync別のオプションになる可能性があります。に次のようなものを入れると、crontab設定する必要があります。

# min hour      day month day-of-week user command
17 *    * * *   user  rsync -av http://hostname.com/ >> rsync.log

その場所にあるサーバーからファイルを取得し、rsync.log毎時 17 分に詳細を追加します。ただし、現在、rsyncWeb サーバーからファイルを取得できないようです。

使用する別のオプションwgetは次のとおりです。

wget -Nrb -np -o wget.log http://hostname.com/

-Nローカル バージョンのタイムスタンプよりも新しいファイルのみを再ダウンロード-bし、プロセスをバックグラウンドに送り、-rディレクトリに再帰し-oてログ ファイルを指定します。これは、任意の Web サーバーから機能します。-npサーバーのコンテンツ全体を効果的にスパイダーして、親ディレクトリに移動しないようにします。

詳細については、通常どおり、rsyncまたはのマニュアル ページを参照してくださいwget

于 2013-06-25T02:11:39.783 に答える