macでcronがうまく動かない

はじめに

決まった時間に処理を行いたい時、cronを設定することが多い。しかし、時間を設定するとなぜかうまく動かない。ということが発生した。

ダメだった例

0 0 * * * mkdir -p ~/Documents/Downloads/`/bin/date +%Y%m%d`

毎日0時0分にディレクトリを作りたい。
~/Documents/Downloads/配下に日付ディレクトリを作りたかったが、うまく動かなかった。

対処

macでは%は区切り文字として認識されてしまう。 そのため、%の前では¥でエスケープしてあげる必要があることがわかった。

0 0 * * * mkdir -p ~/Documents/Downloads/`/bin/date +\%Y\%m\%d`

Linuxでは必要ないが、macでは必要らしい。 これで期待通りディレクトリが作成されるようになった。