3
0

More than 3 years have passed since last update.

cronでコマンドがエラーなしで実行されない現象

Last updated at Posted at 2019-12-09

はじめに

railsでサーバ構築をしてて,wheneverを使ってcronでコマンドを実行させようとしていました.
しかし...

>>>何も出ない<<<

エラーすら出てくれないのです.ネットで「cron 実行されない」など検索してもイマイチ自分と同じ状況ではなさそうでした.

プロセスを確認しよう

まずはこれを確認してください

$ ps aux | grep cron

すると以下のような"感じ"の表示(これは解決した後の表示なので一緒ではないです)がされると思います.ここで,項目が3つくらいだったら良いのですが,もしかして2~30個あったりしませんか?それが私の場合のエラー(?)でした.

xryuseix            27205   0.0  0.0  4270216    280 s001  S+    2:48AM   0:00.00 tail -f /Users/xryuseix/Desktop/cron.log
root             26516   0.0  0.0  4288124    544   ??  Ss    2:42AM   0:00.02 /usr/sbin/cron
xryuseix            27434   0.0  0.0  4277496    684 s003  S+    3:14AM   0:00.00 grep --color=auto cron

これは今動いているcronのプロセス一覧で,なんらかのエラーで正常終了できないものの一覧となっています.そこで,一旦プロセスをkillします.いろんな方法がありますが,これが便利です.

$ sudo kill -9 `pgrep -f cron`

crontabを書き換えよう

プロセス一覧にcronは実行しようとしていることがわかるので,問題があるのはcrontabです.crontabの書き方が悪くてうまく命令を実行できていないものと考えました.これがですね,私の調べ不足かもしれないのですが(多分そう),wheneverで生成されたcrontabではうまく動かないんですよね.そこでこのコマンドを実行します.

$ crontab -e

とりあえず中身は以下のように書き換えてください.

SHELL=/bin/zsh
* * * * * echo "a" >> ~/Desktop/a.txt

これは,zshというシェルを使って,毎分デスクトップにあるa.txtファイルに「a」を追記するという意味です.このような簡単なコマンドで実行しましょう.zshではなくbashを使っている方は適宜変えてください.

するとどうですか,できていますか?私はこれでできました.

最後に

これでもできなかったらすみません><
他のサイトも見てみてください><

3
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
3
0