cronはフルパス指定しないといけない。
プログラムファイル中の記述もフルパスじゃないといけない。
できればそうした方がいいのだけれど、ちょっとその場しのぎしたい。
bashオプションを使って実行しよう
ログインシェルに bash
を使っているとします。
crontab -e
なので、ユーザー名指定オプションはないものとします。
* * * * * /path/to/command
上記のプログラムをこうします。
* * * * * /bin/bash -lc 'command'
いつもシェルで叩いているようにコマンドが叩けるねやったね!
プログラムを実行した時もPATH関連でトラブらないよやったね!
デメリット
これ、あくまでその場しのぎ。
自分のローカルマシン上に設定するのはいいけど、サーバーにやるのはあまり良くないです。
.bashrc
等が何度も実行されることになるので、実行コストは増大します。
注意して利用しよう。