hamburger

主に日記

MacのAutomatorを利用してちょっとだけ作業を自動化する

僕は仕事の成果やその過程は何かしらの方法で書き残しておいたほうが良いと思っている。それは、紙のメモ帳だったり、ToDoアプリだったり、slackの分報だったり、人によってやり方は様々なはず。

僕も今まで色々試行錯誤しては飽きて辞める、を繰り返してきた

今は一周回って、毎日テキストでtimes用のファイルを作成し、なにか思いついたら書き残すということをやっている。

最新版のテンプレートは以下のような感じ

# Todo
- [ ] 今日やるべきことをまとめる

# Find
- 気づいたことを書く

# Impression
- 一日の感想

# Next Action
- 次にやるべきことをメモしておく

テンプレートを作ったので、あとは毎日コピーしたファイルをリネームし、任意のディレクトリに作成するということを、Slackのリマインダーで設定して、それをトリガーに一日の仕事が始まっていた。

が、SWEだったらこのくらいリマインダーじゃなくて自動化だろうとふと思い立ち、調べたところMacAutomatorなる機能があることに気がついた。

本当はRubyをローカルでcronして動かすくらいしたかったが、意外と使えるソフトで今の所不満がない。他の人からしたら常識なのだろうか?

一応設定方法とスクリプトを残しておく

設定ファイル作成

  • Automatorというアプリを開き、アプリケーションを選択する

f:id:burgerham:20200731120641p:plain

  • アクションから、シェルスクリプトを実行を探して選択する(検索すれば早い)
  • 実行したいスクリプトを書く。今回僕が作ったのはこんな感じ
today=`date "+%Y/%m/%d.md"`
my_dir=`date "+%Y/%m"`
mkdir -p "./Documents/times/${my_dir}" 
cp -n "./Documents/times/template.md" "./Documents/times/${today}"

このスクリプトを実行すると、例えば2020/07/31なら./Documents/times/2020/07/31.md というファイルがコピーされて作られる。階層化されるのは自分の好みの部分が大きい。

定期実行する

  • Macのデフォルトカレンダーでは、指定時刻に任意のファイルを開くことが可能なのでそれを利用する
  • 予定を作成し、通知の設定で開始時刻にファイルを開く様に設定する

f:id:burgerham:20200731121406p:plain

これだけ。

定期実行はカレンダーとAutomatorに任せれば、あとは単発のシェルを書くだけなので調べればなんとかなると思う。自分で能動的に作成したファイルじゃないのでTimesを書き忘れるという弊害はあるものの、自動化でSWEとしての自尊心は満たせたので今の所プラマイゼロかなといったところ。

以上です