cronを実行するときのユーザー
先日、GoogleAPIを使って取得した検索アナリティクスのデータを
サーバに保存するphpを書きました。
ブラウザでphpを叩いて一通りテストした後、
cronで日次で処理しようとしたのですが上手くいかず。。。
ログを見てみるとファイルやディレクトリのパーミッション関連で
エラーが出ている模様。
PHPで作成、編集しようとするファイルやディレクトリやらの所有者がapacheになっており、
cronでは一般ユーザで実行していたためエラーが出ていました。
なので、apacheユーザーでcrontabを設定しなおすことで解決。
crontab -u apache task.txt
余談ですが、crontabのオプションで-e(エディタ起動)と-r(タスク削除)があるのですが、
エディタなど使用率の高いオプションをeにバインドし、キーボード上隣り合うrに削除系のオプションをバインドしておくのは危険だなあと思いました。。
(´・ω・`)ヤレヤレ