web-dev-qa-db-ja.com

cronjobを使用してスクリプトを毎日実行する

理解できないため、使用する正確なコードが必要です。 crontab -eを使用してcronジョブを設定しますが、保存すると動作しません。また、rootユーザーからnewmail.shというファイルを実行しようとしています。

8
user219706

毎日午後3時17分にタスクを実行したい場合は、次を使用します。

17 15 * * * root newmail.sh

これは、「毎週、毎日、毎月午後3時17分にnewmail.shをrootとして実行する」というものです。

分時間dom月ダウユーザーcmd

分-これは、コマンドが実行される時間の分を制御し、「0」から「59」の間です。

hour-これは、コマンドが実行される時間を制御し、24時間制で指定されます。値は0〜23の間でなければなりません(0は真夜中です)

dom-これはコマンドを実行する月の日です。各月の19日にコマンドを実行する場合、domは19になります。

monthこれは、指定されたコマンドが実行される月です。数値(0〜12)または月の名前(5月など)として指定できます。

dow-これは、コマンドを実行する曜日です。数値(0〜7)または曜日名(例:Sun)にすることもできます。

user-これは、コマンドを実行するユーザーです。

cmd-これは実行するコマンドです。このフィールドには、複数の単語またはスペースを含めることができます。

from: http://www.unixgeeks.org/security/newbie/unix/cron-1.html

10
dm78
Sudo crontab -e

これらの行をファイルの最後に追加します

*/1 * * * * wget -O /dev/null  project_crone_URL

(1分に1度にcronを実行します)

0 0 * * * wget -O /dev/null  project_crone_URL

(24時間に1回、cronを実行します)

ファイルを保存

このコマンドでcrontabを起動します

Sudo /etc/init.d/cron start

このコマンドでcrontabを停止します

Sudo /etc/init.d/cron stop

このコマンドでcrontabを再起動します

Sudo /etc/init.d/cron restart
5
Raman Singh

Ubuntu 16.0 +にはユーザーフィールドがないため、crontab -eを使用する場合、正しい形式は次のとおりです。

17 15 * * * newmail.sh

これは、「newmail.shを毎日、毎月毎日、毎月午後3時17分に実行する」と書かれています。

他の方法 dm78の答え は正しく、形式の正確な説明が含まれています。

また、何かがおかしくなった場合、メールシステムがインストールされている場合、メッセージが送信されます。詳細については、 この回答 を参照してください

Cronジョブのロギングに興味がある場合は、 this answer を使用できます。

1
bendaf