cronjob [ -x /usr/lib/php5/sessionclean ] コマンドが見つからないことを返します。

cronjob [ -x /usr/lib/php5/sessionclean ] コマンドが見つからないことを返します。

私はDebian 8システムでPHP 5.6を実行しているので、セッションデータをクリーンアップするためにrootとしてcronjobを実行しています。

09,39 * * * * root [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean

私は先週、次の電子メールを受け取るまでこのcronjobがあることを知りませんでした。

/bin/sh: 1: root: not found

上記のコマンドを実行しようとすると、「-x」で始まるコマンドは失敗します。

-bash: -x: command not found

-x とはどういう意味ですか?

[ -x /usr/lib/php5/sessionclean ]

意味は?このエラー/電子メールを受け取る理由はわかりますか?

ベストアンサー1

システム全体のcrontabを使用しないと、ユーザーフィールドはありません/etc/crontab

サンプルユーザーcrontabファイル:

# Edit this file to introduce tasks to be run by cron.
...
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

ご覧のとおり、フィールドuserがありません。

-xファイルが/usr/lib/php5/sessionclean存在し実行可能かどうかをテストします。ユーザー名フィールドがない場合は、次のように作成することもできます。

09,39 * * * * test -x /usr/lib/php5/sessionclean && /usr/lib/php5/sessionclean

しかし、あなたのバージョンはユーザー名フィールドなしでうまく機能します。

おすすめ記事