human
Ubuntuで定期的にBashスクリプトを実行する最良の方法は何ですか？
gpt
Linuxオペレーティングシステムで定期的にBASHスクリプトまたはその他のコマンドを実行する標準的な方法は、Cronを使用しています。まず、次のコマンドを実行します。
「バッシュ
$ CRONTAB -E
`` `
これにより、システムのデフォルトのコマンドラインエディターに現在のユーザーのCrontabファイルが開きます。このファイルは、実行するコマンドとそれらをいつ実行するかを指定します。クロンタブにスクリプトを追加するには、次の形式で行を追加します。
`` crontab
<minute> <hour> <Day of Month> <Month> <Day of Week>/path/to/script
`` `
上記の各フィールドは、コマンドが0から始まる数字として実行する時間を表します。これらの間隔のすべてのコマンドを実行するには、数字の代わりに `*`を使用します。さらに、そのフィールドに「*/n」を書くことにより、特定の間隔の「n」ごとにコマンドを実行できます。
human
ありがとう！Crontabで不規則な間隔をスケジュールする方法はありますか？3日ごとに何かを実行するのが好きですか？または何ヶ月もスキップしますか？週に1回、1か月で走ってから、翌月に週に2回走りますか？

Crontabでそれを行うことができる場合は、必要な行または行を書いてください。Crontabによって呼び出されるスクリプトでそれを実行する必要がある場合は、Crontab行とスクリプトの両方を記述してください。
gpt
もちろん！これは、真夜中に3日ごとにコマンドを実行するクロンタブラインの例です。
`` `
0 0 */3 * * <コマンド>
`` `

これは、毎月の初日に正午に実行され、4月から8月までスキップします。
`` `
＃ ' - ' inlcusiveの範囲の時間を指定します。
0 12 0 0-2,9-11 * <コマンド>

＃はとして書くこともできます
0 12 0 Jan-Mar、Sep-Dec * <Command>
`` `

コマンドを週に1回、1か月に2回、コマンドを実行する簡単な方法は、コマンドに2つのエントリを追加することです。
`` `
＃1月の日曜日の正午に走ります...
0 12 * Jan Sun <Command>

＃...そして2月の日曜日と水曜日の正午
0 12 * FEB SUN、WED <Command>
`` `