11

私はcronジョブが初めてです。crontab を使用して cron ジョブを作成する方法に関する投稿を読みました。したがって、私のcrontabは次のようになります。

1 * * * * /Users/apple/Desktop/wget/down.sh

これは基本的に、毎分スクリプトを実行したいということを意味します:down.sh。これで、スクリプトは手動で正常に実行されます。このスクリプトは、インターネットから PDF をダウンロードする単純なプログラムです。

#!/bin/bash

wget -U Mozilla -t 1 -nd -A pdf "http://www.fi.usj.edu.lb/images/stories/HoraireS08/3eli.pdf" -e robots=off;

新しい crontab をインストールしているとターミナルから通知された後、毎分実行されない理由がわかりません。

誰か助けてくれませんか?

解決策: ご協力ありがとうございます。1 時間ごとに実行する場合は、mcalexが述べた構文は * */1 * * * path/to/script である必要があります。cron ジョブは正常に動作していましたが、私のミスは単純にパーミッションの書き込みでした。実際には wget コマンドの実行中に、cron タブの場合はシステム ディレクトリである現在の workind ディレクトリに pdf ファイルを書き込むことになっています。そのため、次のように wget コマンドを実行する前に、デスクトップディレクトリに移動するだけで問題を解決しました。

cd /Users/apple/Desktop/wget

そしてやりたいことをやる。PS: wget コマンドのフル パスも含める必要があります。

再び助けてくれてありがとう:)

4

5 に答える 5

16

最初の列に 1 を入力すると、最初の 1 分 (1 時間ごと) に実行されます。毎時毎分実行するには、分の列を */1 に設定する必要があります

したがって、あなたの行は次のようになります。

*/1 * * * * /Users/apple/Desktop/wget/down.sh

サポートリンク: 1 分ごとのジョブ: https://bbs.archlinux.org/viewtopic.php?id=59180
5 分ごとのジョブ: http://www.thegeekstuff.com/2011/07/cron-every-5-minutes /

于 2012-11-08T08:56:25.340 に答える
6

1 * * * * /Users/apple/Destop/wget/down.sh

このエントリから、スクリプトは毎時最初の 1 分に実行されるため、毎分実行されることはありません。

crontab ファイルにこの変更を加えて、このスクリプトを毎分実行します。

"* * * * * /Users/apple/Destop/wget/down.sh"

于 2012-11-08T06:05:37.280 に答える
5

タイプミスはありませんか?デスクトップの入力を間違えたようです。

もう 1 つは、スクリプトの実行結果をファイルにリダイレクトして、次のように何が起こっているかを確認できるようにすることです。

1 * * * * /Users/apple/Destop/wget/down.sh >> /tmp/cron.out

次に、ファイルをチェックアウトして、何が起こっているかを確認します。

于 2012-11-08T00:45:31.357 に答える
3
  • cron は、問題の詳細を記載したメールを送信しましたか?
  • そのパスの下にスクリプトは存在しますか?
  • cron は/bin/shコマンドを実行するために使用することに注意してください。
  • スクリプトで適切PATHに設定しましたか?wgetデフォルトにないPATHか、まったくない可能性がありPATHます。/path/to/wgetスクリプトで使用してみてください。

ただし、同じ PDF ファイルを 1 分に 1 回ダウンロードするのは、おそらくばかげた考えであることに注意してください...

于 2012-11-08T00:53:27.960 に答える