公開日:2021.12.13

なんでもない些細な通知を cron 使って行う話(mac PC)

雑記

いつもの挨拶

みなさま、初めての方ははじめまして!
そうでない方はお久しぶりです! とみーです!!

テレビの天気予報を見てたら『本日より冬本番』のような事を言っており、これ以上寒くなるのかと
半信半疑でしたが、外の木枯らしで天気予報士の信頼と、昨年もこれくらい寒かった事を思い出しました。
今年の冬もエアコンだけでなく、こたつや電気ストーブなどの器具を手放せないです。

些細な通知を出す事になった理由(ワケ)

さて、みなさまは予定を管理する時に何を使っておりますでしょうか?
自分は基本的には、グーグルが提供してくれているスケジュール表です。

時間の設定やアラート通知機能もあり、とても便利だと思います。
しかし、中にはスケジュールに登録するような内容じゃないけど、定期的に通知が欲しい事があります。
自分の場合、コロナ騒ぎの真っ只中で高熱を出してしまった時に
『コロナかもしれないので確認の為、一定時間ごとに体温を測って欲しい』とお願いされた時です。

とても大事な事ですが、いちいち時間をスケジュール表に全部書いたら体温のことで埋まってしまいます。

何を使って通知を行うか?

ここからがタイトルの本題部分となります。
【定期的に通知を実行する】、また基本的にはないことなのですが
【ネットに繋がらない場合でも通知してくれる】こともあるかもしれません。

自分のスマホに新しいスケジュール管理アプリを入れても良いのですが、今回だけの為にそれをするのも
なんか面倒くさい。。。
そう考えた後、コマンドで追加や削除が簡単に出来るし、PC内部のみで完結してて他に影響を与えない
cron を使ったらどうだろうか、と考えました。

cron って?

cron(crontab)の詳しい内容についてはwikiをご確認ください。
ざっくり言ってしまうと『持ってるPCの中で定期的に作業をしてくれるシステム(コマンド)』です。
https://ja.wikipedia.org/wiki/Crontab

なお、Unix系OSにあるシステムな為、Windowsは対象外となります。

設置コマンド

crontab には crontab -e コマンドで編集モードにして、下記のコマンドを設置致しました。

* [営業時間]/2 * * * osascript -e 'display notification "結果を〇〇に書いてください。" with title "体温を測る時間です。"'

[時間]に時間をを記述する(例:8-17)ことでその時間帯だけコマンドを実行してくれます。
また、【[時間]/2】 とする事で、2時間ごとにコマンドを実行してくれます。
コマンドについて、 osascript というスクリプトを使う事でmacに通知を表示させます。
with title 以下が通知のタイトル、 display notification 以下がメッセージになる部分です。

まとめ

体温を測る時間を自分にリマインドさせる為、下記のコマンドをcrontab に設置してました。

* [営業時間]/2 * * * osascript -e 'display notification "結果を〇〇に書いてください。" with title "体温を測る時間です。"'

※crontab を使う場合は自分で管理できる範囲でお願い致します。
 必要なくなったらどんどん消していきましょう。

この記事を書いた人

とみー

入社年2020年

出身地埼玉県草加市

業務内容埼玉県草加市

特技または趣味Web開発

とみーの記事一覧へ

雑記に関する記事一覧