![cronjob [ -x /usr/lib/php5/sessionclean ] コマンドが見つからないことを返します。](https://linux33.com/image/153817/cronjob%20%5B%20-x%20%2Fusr%2Flib%2Fphp5%2Fsessionclean%20%5D%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
私は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
しかし、あなたのバージョンはユーザー名フィールドなしでうまく機能します。