2016-07-18 13 views
0

私はcrontabを使用する上で初心者です。記事を読むと、5分ごとに治療を使用して自動的にクロールをスケジューリングする方法と、いくつかの記事がcrontabを使用することを提案しています... しかし、私はすでに+ X runScrapy.shcrontabで治療を使用してクロールをスケジューリングする

を提出する権利スクリプト...ここ

私.SHファイル

#!/bin/sh 
cd /home/kautsar/Downloads/thehack 
scrapy crawl thehack 

しかし、私は

を使用しようとすると、
crontab -e 
*/5**** cd /home/kautsar && sh runScrapy.sh 

私がEnterボタンを押すと結果は "?"になります。 誰もが何を意味するか知っていますか?これについて説明できますか? 私に設定されているウェブクロールを定期的に行う正しい方法を教えてください..ありがとうございました

+0

*/5 * * * * – xxfelixxx

+0

が同じであることを確認してください。*/5 * * * * cd/home/kautsar && sh runScrapy.sh " 結果は" ? " – beboy

+0

'/ home/kautsar/runScrapy.sh'フルファイル名を使用するのはなぜですか? – xxfelixxx

答えて

1

あなたのデフォルトエディタがedに設定されていると思われます。理由は分かりません。このような場合は、man edコマンドでのinの使い方を読むことができますが、お気に入りのエディタを使用するようにシステムを設定する方が良いでしょう。それがvimと仮定しましょう。そうでない場合は、vimを適切な名前に置き換えます。この時点で

export EDITOR=vim 
crontab -e 

、あなたはcrontabファイルを編集して、お気に入りのエディタにする必要があります。以下のようなファイルにコメントを追加することをお勧めします。私はいつも、これは、さまざまなアスタリスクのすべての列が何であるかを思い出させるためです。 DoMは曜日(1-31)、DoWは曜日(0-7または日/月/火など)です。その後、完全修飾ファイル名としてのシェルスクリプト(したがって、cdとスクリプトの呼び出しは必要ありません)。

この時点で、エディタを使用するときと同じように保存して終了することができます。

crontabファイルにあなたを待っている落とし穴があります。 man 5 crontabを読んで、PATHとHOMEの定義に特に注意してください。 cronはログイン環境ではなく、省略された環境で動作するため、PATH変数を設定する必要があることがあります。 $ HOMEがホームディレクトリに設定されていると便利です。たとえば、コマンドは$HOME/runScrapy.shになります。最後に、cronがコマンド出力を送信するアドレスにMAILTOを設定できます。これは、送信メールがシステムに設定されていない場合に便利です。