誰かがjuniper swith EXシリーズでcrontabを使用しましたか?私は別の設定でこのプロセスを実行する必要があるので、私は再起動httpdの仕事をしたいと思います。 私はロギングを使って簡単なスクリプトを作成します。Juniper EXスイッチ。 Crontab jobs
#!/bin/csh
echo 'Go...'
cp /jail/var/etc/httpd.conf_new /jail/var/etc/httpd.conf
echo 'changed'
set http_pid=`ps aux | grep 'httpd --config' | grep -v grep | awk '{print $2}'`
echo 'Process PID: ' "$http_pid"
kill -9 "$http_pid"
はまた、私はcrontabの中にジョブを作成
10 12 * * * csh /var/root/test.sh >> test.log
私はそれから出力されたCMDからプロセスへの実行
:私はその後、cronでそれを実行したときにGo...
changed
Process PID: 3158
、すべてがOKですが、それはそのように見えます:
Go...
changed
Process PID:
私はcrontabの行に変更(追加)しようとしました:
SHELL=/bin/csh
PATH=...
しかし、動作しませんでした。また、私は以下のようなものを仕事に行を変更しよう:
10 12 * * * /var/root/.profile; csh /var/root/test.sh >> test.log
10 12 * * * sh /var/root/.profile; csh /var/root/test.sh >> test.log
10 12 * * * (sh /var/root/.profile; csh /var/root/test.sh) >> test.log
たぶん、あなたは私がこれを正しく実行するために多くを何を行うことができます知っていますか?
これは私の問題の一つに唯一のソリューションです。 2番目はpsの変数http_pidへの転送結果です。スクリプトのアクションを段階的に分析したところ、クエリps auxの結果は文字列の長さが80文字に制限されていることが判明しました。私のgrepは探している文字列を検出しませんでした。 ps auxをps -A(短いバージョン)に変更する必要があります。 – KlapenHz