ポート4000が開いていてリッスンしていることを確認し、trueを返すと、ログファイルも出力するサービスを開始するスクリプトがあります。ユーザーとして実行するとスクリプトは正しく実行されますが、cronとして追加すると実行されません。私はrootとしてログインし、スクリプトはrootが所有しており、スクリプトには実行権限があり、rootcrontab -e
として実行しています。
#!/bin/bash
if lsof -Pi :4000 -sTCP:LISTEN -t >/dev/null ; then
return 1
else
seoserver -p 4000 start > /var/www/vhosts/domain.com/httpdocs/seoserver.log &
fi
これは私のクローンです。
*/5 * * * * /usr/bin/seoStart
ベストアンサー1
Cronは、ユーザーが所有するパブリック環境変数($ PATHを含む)で始まりません。
cronにフルパスがあることをお勧めしますが、それをスクリプトに追加する必要があります。
which lsof
そして
which seoserver
完全な道を教えてくれます。lsof
代わりにスクリプトを使用してスクリプトを変更してくださいseoserver
。