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


9

それを理解することができないので、使用する正確なコードが必要です。私crontab -eはcronジョブのセットアップに使用していますが、それを保存すると機能しません。またnewmail.sh、rootユーザーから呼び出されたファイルを実行しようとしています。


あなたの質問に対する答えを見つけましたか?
ベンダフ

回答:


10

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

17 15 * * * root newmail.sh

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

分時間dom月dowユーザーcmd

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

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

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

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

dow-これは、コマンドを実行する曜日です。数値(0〜7)または曜日の名前(太陽など)でもかまいません。

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

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

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


ubuntu 16以降では、新しい形式は「mh dom mon dow command」
bendaf

Ubuntu 19では分が最初です。また、誤った時間について警告します。
ケララカ

5
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

1

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

17 15 * * * newmail.sh

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

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

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

cronジョブのロギングに興味がある場合は、この回答を使用できます。


1
それはに依存しているあなたに編集をのcrontab。crontab -e(あなたが正しく言うように)ブツは、ユーザーのフィールドを持っていませんが、ファイル/etc/crontab(いわゆるシステムのcrontab)と以下のファイルが/etc/cron.d 行うユーザーフィールドを持っています。
PerlDuck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.