毎回、tcpdump
を手動で実行するときは、 Ctrl+C それを止めるために。 tcpdump
をcronjobでスケジュールしたいのですが、1時間半実行するだけで済みます。手動で実行せずに Ctrl+C またはkillコマンド、どのように自動的に停止できますか?私がテストしているコマンドは次のとおりです。
tcpdump -i eth0 'port 8080' -w myfile
別のcronjobをスケジュールしてtcpdump
プロセスを強制終了することもできますが、それは得策ではありません。
-G {sec}
(x秒ごとにダンプファイルを回転)および-W {count}
(ダンプファイルの制限数)を使用して、必要なものを取得します。
tcpdump -G 15 -W 1 -w myfile -i eth0 'port 8080'
15秒間実行してから停止します。 1.5時間を秒に変えると、動作するはずです。
タイムアウトを使用できます
timeout 5400 tcpdump -i eth0 'port 8080' -w myfile
次のようにできます:
tcpdump -i eth0 'port 8080' -w myfile &
pid=$!
sleep 1.5h
kill $pid
Ubuntu 14.04で私に最適なアプローチ
Sudo -i
crontab -e
そして、行を追加します
30 17 * * * /usr/sbin/tcpdump -G 12600 -W 1 -s 3000 -w /home/ubuntu/capture-file.pcap port 5060 or portrange 10000-35000
ノート