LoginSignup
0
0

MacでCronが動かない(dockerコマンド)

Posted at

はじめに

ちょっとした環境をローカルで作った際に、
MacでCronを動かそうとしてつまづいたので、
解消までに試したことを忘備録。

目次

簡単なコマンドで動作確認

以下のようなcronを仕込んでみる。

*/2 * * * * echo "hello world" >> ~/Desktop/hello.txt

2分おきにデスクトップのhello.txtに「hello world」が書き込まれていれば、
cronは正常に動作していることが確認できる。

ログとして吐き出してみる

標準出力ごとログファイルに吐き出してみる。(2>&1の部分)

*/2 * * * * [docker 実行したいコマンド] >> ~/Desktop/cron.log 2>&1

実行時のログが何かしら出力されるはず。
自分の場合、bash: docker: command not foundのエラーが出ていた。

「bash: docker: command not found」の対応

ローカルで以下を叩いてみる。

whereis docker

するとdocker: /usr/local/bin/dockerと出力されたため、
cronのdockerコマンドを明示的に指定する。

*/2 * * * * [/usr/local/bin/docker 実行したいコマンド] >> ~/Desktop/cron.log 2>&1

すると正常に動いた。

cronだと一部の環境変数が設定されず、
いつも通りに叩くだけだと使えないコマンドが出てくるみたい。
今回みたいにフルパス指定してあげると動かせる。

まとめ

以上、忘備録でした。
他にも、-itオプションがついたままだとエラーが出るなどもあるみたい。

色々、知らない仕様があるなあ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0