SFTPサーバーからすべてのサンプルを一度にダウンロードし、下記のスクリプトを使用する方法を知っています。代わりに、一度にすべてのファイルをダウンロードするためのスクリプト(download.sh
)を実行しているのファイルをダウンロードするためのbash cronjobの問題
#download.sh
sshpass -p password sftp [email protected]:/Files/2017-05-05-00.zip ~/local_machine/2017-05-05/
sshpass -p password sftp [email protected]:/Files/2017-05-05-01.zip ~/local_machine/2017-05-05/
sshpass -p password sftp [email protected]:/Files/2017-05-05-02.zip ~/local_machine/2017-05-05/
.................................................................
sshpass -p password sftp [email protected]:/Files/2017-05-05-23.zip ~/local_machine/2017-05-05
は、どのように私は時間単位の間隔上のファイルをダウンロードすることができます。たとえば、上記のスクリプトの場合
download.sh
(2017-05-05-00.zipのダウンロード)の最初の行は、7AM
で発生する必要があります。これは、ファイルルックアップ2017-05-05-00 .zipと残りの行を参照しないでください。
download.shの2行目(2017-05-05-01.zipのダウンロード)は、8AM
と23番目のファイルまででなければなりません。
実行中に他のファイルが見つからないようにしてください。
bash cronジョブを使用してこれを行う方法がわかりません。どうすればよいですか?
ファイル名に '2017-05-05'の**毎日の**ファイルをダウンロードしますか? – Cyrus
atを使って異なる時刻/日にコマンドを実行する –
@Cyrusいいえ、毎日、日付が変更されます。 SFTPサーバーは、1日の午前7時に最初のファイルをポストし始めます(例:2017-05-05の場合、最初のファイルは午前7時に2017-05-05-00.zipとなります)、翌日に続きます。次の日(2017-05-06)であっても、最終ファイル名は2017-05-05-23.zip(6AM)になり、翌日のファイル投稿は午前7時に開始されます(2017-05-06-00.zip)。 。私は知っている、これは私が思い付く必要がある複雑なポーリング戦略です:( – Arun