毎時新しいプロセスを実行するスクリプトが必要です。プロセスを検索して終了させ、bashスクリプトで新しいプロセスを開始する
毎回cronで実行する予定のbashスクリプトを作成しました。それは最初に動作しますが、それ以外は失敗します。
シェルから実行すると、完全に機能します。ここで
はスクリプトです:
#!/bin/sh
ps -ef | grep tcpdump | grep -v grep | awk '{print $2}' | xargs kill
sleep 2
echo "Lanzando tcpdump"
tcpdump -ni eth0 -s0 proto TCP and port 25 -w /root/srv108-$(date +%Y%m%d%H%M%S).smtp.pcap
のcron
@hourly /root/analisis.sh > /dev/null 2>&1
なぜcronジョブが失敗していますか?
これはBashスクリプトではありません(そうでないとShebangが言います)。 – Biffen
[どうすれば失敗しますか?](http://importblogkit.com/2015/07/does-not-work/) 'killall'や少なくとも' pidof'を使うことはできませんか? – Biffen
@abkrim、 'pkill -f tcpdump'を使ってプロセスを終了します。 – sat