
手動でブラウザに 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
人間が読めるタイムスタンプのような出力をオンザフライで実行対象ファイル名の残りの部分
-b
wget に 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