Linuxを学び/理解する過程で(難しいですが楽しんでいます)。私はウェブサイトからindex.htmlファイルを抽出するためにwgetを使用する非常に短いシェルスクリプトを書いています。
#!/bin/bash
#Script to wget website mywebsite and put it in /home/pi/bin
index=$(wget www.mywebsite.com)
これは、コマンドラインにwget_testコマンドを入力すると機能します。 .html ファイルを /home/pi/bin に出力します。
私は特定の時間にこれを行うことができるようにcronを介してこれを始めました。 crontab -e を使用して、次のように入力します。
23 13 * * * /home/pi/bin/wget_test
この例では、スクリプトを13.23で実行し、.htmlファイルを/home/pi/binに出力しようとしていますが、何も起こりません。
答え1
この行はindex=$(wget www.mywebsite.com)
変数を$index
空白に設定します。これは(基本的に)wget
何も記録されないからです。標準出力したがって、変数に入れることはありません。
それがすることは、wget
ファイルを現在のディレクトリに書き込むことです。 Cronジョブは$HOME
ディレクトリで実行されるため、ディレクトリにファイルを書き込むには$HOME/bin
2つのうちの1つを実行する必要があります。
- 書く
wget -O bin/index.html www.mywebsite.com
- 書く
cd bin; wget www.mywebsite.com
ところで、~/bin
ディレクトリは通常個人のスクリプトとプログラムが保存される場所なので、ウェブサイトで定期的に検索されるファイルを別の場所に作成することを検討するのが最善です。
答え2
Bashスクリプトに実行権限があり、必要なユーザーに対してcronjobが設定されていることを確認してください。
私の考えでは、スクリプトのコマンドが次のようになるはずです。
wget www.mywebsite.com/index.html