URLを呼び出してファイルを保存するCRONのシェルスクリプト

URLを呼び出してファイルを保存するCRONのシェルスクリプト

手動でブラウザに URL を入力すると、GET 関数を持つページが呼び出され、直接ファイルを保存するよう促されます。スクリプトの cron ジョブを使用して、次のアクションを自動化したいと思います。

  • URLを呼び出す
  • ファイルを特定のフォルダに保存する

スクリプトの作成を手伝ってくれる人はいますか? 動作をテストするために URL を非公開で提供できます。

答え1

ユーザー インターフェイス (テキストまたは GUI) を使用せずに URL をダウンロードする 1 つの方法は、wget必要なすべてのパラメーター (必要に応じて) を指定して cron ジョブとして使用することです。

wgetについて

単一の URL の例 (出力名がタイムスタンプと結合され、回答を充実させるため、静的な名前にすることができます):

 wget URL -O "/home/uname/dirn/`date +%y%m%d-%H%M%S`-n.htm" -b
 wget URL -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-n.htm" -b #in crontab

注意: cron では、「パーセント」文字を解釈するため、単なる「%」(上記の 1 行目) ではなく、「\%」(上記の 2 行目) を使用する必要があります。

ここで:は次のように分割されます:-O "/home..../date...-theRestOfTheName"

  • 絶対パス(cron は独自のパスを設定している場合があるため、実用的な観点からは、各コマンドで目的のパスを指定するのが望ましい場合が多いです)

  • date人間が読めるタイムスタンプのような出力をオンザフライで実行

  • 対象ファイル名の残りの部分

-bwget に syslog にログインしながらバックグラウンドで動作するように指示します。

オプションで、ファイル ( -i filename) から URL のリストを使用することもできます。また、wget とそのマニュアル ページ ( ) を試してみることもできます。man wgetこれは比較的短く、多くのアイデアを得ることができます。

cronについて

注意: cron はマシンが常にオンになっていることを前提としています。マシンがオフになっている間のジョブは cron では追いつきません。現在のユーザーとして cron を編集する

crontab -e

コマンドの実行頻度を指定する設定行を追加します (簡単な指示は crontab エディタの最上行にコメントとして表示されるので、それを読んでください)。日曜日に 5 分ごとに実行するには、次のように記述します。

# m  h  dom mon dow   command
*/5  *   *   *   0    wget google.com -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-ind3.htm" -b

関連情報