【linux】 wgetを動かして一時間おきに あるHTMLを取得しています(crondで)。


wget -O /var/foo.html http://www.hogehoge.com/hoge.html

これだと foo.html に毎回上書きされてしまうので、常に前回分しか参照できません。

foo_080111_1800.html のように日付をファイルに付加するか、
wgetの出力を一つのファイルに追記(この場合は日時も追記したい)させたいのです。

何か良い方法はないでしょうか。
 

回答の条件
  • 1人2回まで
  • 登録:2008/01/11 17:42:37
  • 終了:2008/01/13 14:53:38

ベストアンサー

id:masahikokimoto No.1

masahikokimoto回答回数241ベストアンサー獲得回数102008/01/11 17:56:42

ポイント38pt

shell scriptを書いて、それをcronで実行するようにすればいいです。

ファイル名に日付をいれる場合

dt=`date +%Y%m%d_%H%M`

wget -O /var/foo_"$dt".html http://www.hogehoge.com/hoge.html

一つのファイルに追記していく場合

echo `date` >> out.html

wget -O - http://www.hogehoge.com/hoge.html >> out.html

id:nekoten

ありがとうございます、試してみます。

2008/01/11 20:47:42

その他の回答(1件)

id:masahikokimoto No.1

masahikokimoto回答回数241ベストアンサー獲得回数102008/01/11 17:56:42ここでベストアンサー

ポイント38pt

shell scriptを書いて、それをcronで実行するようにすればいいです。

ファイル名に日付をいれる場合

dt=`date +%Y%m%d_%H%M`

wget -O /var/foo_"$dt".html http://www.hogehoge.com/hoge.html

一つのファイルに追記していく場合

echo `date` >> out.html

wget -O - http://www.hogehoge.com/hoge.html >> out.html

id:nekoten

ありがとうございます、試してみます。

2008/01/11 20:47:42
id:y-kawaz No.2

y-kawaz回答回数1420ベストアンサー獲得回数2252008/01/11 18:22:22

ポイント32pt

以下のようにしてやれば日付ファイル名で保存できると思います。

* * * * * wget -qO foo-`date +\%Y\%m\%d\%H\%M\%S`.html http://www.example.jp/

※コマンドラインで実行する場合は date の引数は %Y%m%d という感じで上手く動くのですが、crontab内では % はエスケープしないと使えないので上記のようする必要があります。

id:nekoten

ありがとうございます、こちらも試してみます。

 

他にも方法があればまだ解答受け付けます。

-----------

ありがとうございました。実現できたのでコレで〆させていただきます。

2008/01/13 14:52:56

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません