web-dev-qa-db-ja.com

Ubuntu 16.04 LTSでcronを制御するには?

古いgnome-scheduleプログラム(Raspbian Jessieで正常に動作します)は、Ubuntu 14.04 LTS以降、Ubuntuで非推奨になりました。

それでは、Ubuntu 16.04でcronジョブをどのように制御しますか?

5
SDsolar

Ubuntu 16.04で使用できるGUIベースのcronコントローラーはまだないため、常に機能する旧式のメソッドに戻る必要があります。コマンドラインから実行します。

公式のUbuntuドキュメント:CronHowto

選択された抜粋:

ガイダンスとして、いつでも使用できます

man crontab

Cronプログラムを編集するには、次のコマンドを使用します。

 crontab -e

Manページから:

クロンタブ行

各行には5つの日時フィールドがあり、コマンド、改行文字( '\ n')が続きます。フィールドはスペースで区切られます。 5つの日時フィールドにスペースを含めることはできません。 5つの日時フィールドは、分(0〜59)、時間(0〜23、0 =午前0時)、日(1〜31)、月(1〜12)、平日(0〜6、 0 =日曜日)。

01 04 1 1 1 /usr/bin/somedirectory/somecommand

上記の例は、1月1日の午前4時1分に1月の毎週月曜日に/ usr/bin/somedirectory/somecommandを実行します。

アスタリスク(*)を使用して、期間のすべてのインスタンス(毎時、毎週日、毎月など)を使用できます。

01 04 * * * /usr/bin/somedirectory/somecommand

上記の例は、毎月毎日午前4時1分に/ usr/bin/somedirectory/somecommandを実行します。

コンマ区切り値を使用して、特定のコマンドの複数のインスタンスを一定期間内に実行できます。ダッシュで区切られた値を使用して、コマンドを継続的に実行できます。

01,31 04,05 1-15 1,6 * /usr/bin/somedirectory/somecommand

上記の例では、毎年1月と6月の1日から15日の午前4時と午前5時を過ぎた01と31に/ usr/bin/somedirectory/somecommandを実行します。

上記の例の「/ usr/bin/somedirectory/somecommand」テキストは、指定された時間に実行されるタスクを示しています。上記の例に示すように、目的のコマンドへのフルパスを使用することをお勧めします。ターミナルでwhichsomecommandを入力して、somecommandへのフルパスを見つけます。 crontabは、適切に編集および保存されるとすぐに実行を開始します。

時間単位ごとにスクリプトを何度か実行することもできます。たとえば、10分ごとに実行する場合は、次のcrontabエントリを使用します(10で割り切れる分で実行します:0、10、20、30など)。

*/10 * * * * /usr/bin/somedirectory/somecommand

これは、より面倒なものと同等です

0,10,20,30,40,50 * * * * /usr/bin/somedirectory/somecommand

Cronでは、5つの日時フィールドの代わりに使用できる特別な文字列も提供しています。

@reboot-起動時に1回実行します。

@yearly-年1回実行、"0 0 1 1 *"

@annually-(@yearlyと同じ)

@monthly-月に1回、"0 0 1 * *"を実行します。

@weekly-週に1回、"0 0 * * 0"を実行します。

@daily-1日1回実行、"0 0 * * *"

@midnight-(@dailyと同じ)

@hourly-1時間に1回、"0 * * * *"を実行します。


すべてのcronジョブはユーザーの$HOMEディレクトリで始まるため、cronプログラムとスクリプトの両方で完全修飾パス名を使用することをお勧めします。

7
SDsolar

Crontabに影響を与えることはできませんが、通常はメインメニューに表示されるOrage Time/Calendarアプリケーションがあります。

そこでタスクをスケジュールすることもできます。

時計をダブルクリックしてカレンダーを開き、1日をダブルクリックします。

新しいイベントを選択します。ここに、たとえば「Coffeetime」などの名前を付けます。時間を11:00に設定します。

次のタブを選択します:リマインダー、アプリケーション、使用:YOUR_PROGRAM_TO_SCHEDULE_HEREサウンドおよびその他のサウンドのないオプションを無効にします。

次のタブを選択します:繰り返し、頻度:

  • 毎日、毎週、毎月、毎年
  • 1日ごとに1、1日おきに2などなど
  • より多くのオプションが利用可能です(一時停止の間隔、つまり)

ドイツのUIを使用しているため、タブの翻訳が正確に合わない可能性があります。

0
user unknown