Systemd

Simple oneshot script to be triggered on occasion

unit file

[Unit]
Description=TCPDump Service
After=network.target

[Service]
User=root
ExecStart=/bin/bash /root/tcpdumpscript/script.sh
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
#Restart=on-failure
Type=oneshot
#PIDFile=/var/run/tcpdump.pid
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

script file

#! /bin/bash
LOGFILE="tcpdump.log"
LOGDIR="/tcpdumplogs/"
PIDFILE="/var/run/tcpdump.pid"
if [ -f $PIDFILE ]; then
PID=$(cat $PIDFILE)
kill ${PID}
fi

if [ -f $LOGDIR$LOGFILE ]; then
cd $LOGDIR
DATE=”$LOGFILE-$(date +’%Y-%m-%d_%H-%M-%S’)”
mv $LOGFILE $DATE
gzip $DATE
fi

tcpdump -w $LOGDIR$LOGFILE port 5672 &
echo $! > /var/run/tcpdump.pid
exit 0