Bashスクリプト入門
Alex Scriven
Data Scientist
スクリプトのスケジューリングは多くの場面で有用です。
cron によるスケジューリングは、現代のデータ基盤を扱ううえで不可欠です。
Cronは1970年代からUNIX系システムにあります。人間はその頃から「自動化好き」でした。
名称はギリシャ語の時間を意味する語、chronos に由来します。
crontab というファイルに cronjob を列挙し、何をいつ実行するかを指定します。
現在設定されているスケジュール(cronjob)は次で確認できます。
crontab -l
crontab: no crontab for user
ではスケジュール(cronjob)を作りましょう。
Wikipediaの図は、crontab 内に cronjob をどう書くかを示しています。cronjob は1行に1つ、複数書けます。

* は「毎〜」を意味します。cronjobの例を見ていきます。
5 1 * * * bash myscript.sh
*(毎日・毎月)。
15 14 * * 7 bash myscript.sh
*(毎月の毎日)。最後は7(日曜日)。1日複数回や「X」間隔ごとに実行することも可能です。
15,30,45 * * * * は分が15,30,45のときに、2つ目のアスタリスクで指定した各時に実行します。ここでは毎時・毎日など。*/15 * * * * は15分ごとに実行します。こちらも毎時・毎日など。毎朝1時30分に extract_data.sh を実行するようにスケジュールしてみましょう。手順は次のとおりです。
crontab -e と入力し、cronjob一覧を編集します。nano は vi(vim) より習得が容易です。30 1 * * * extract_data.sh3. 保存してエディタを終了します。
Macの nano なら、ctrl + o、enter、ctrl + x で終了します。
crontab: installing new crontab と表示されます。
4. crontab -l で登録を確認します。
30 1 * * * extract_data.sh
よくできました。
Bashスクリプト入門