Sponsored Content
Top Forums Shell Programming and Scripting Would appreciate a quick second set of eyes on a script (regarding doing things in the background) Post 302435451 by DeCoTwc on Wednesday 7th of July 2010 11:32:05 AM
Old 07-07-2010
Would appreciate a quick second set of eyes on a script (regarding doing things in the background)

What I'm trying to do is leave a tcpdump running all the time on a server, and at the end of every day kill it and start a new one. For some reason my boss doesn't want to set this up as a cron job, so I've come up with the following.:

Code:
#!/bin/bash

PCAPFILE=/tmp/mgmt.$(date "+%H.%M.%S.%m.%d").pcap

tcpdump -i eth0 -nn -vv -s 1500 net 192.168.5 -w $PCAPFILE   2>&1 & 
dumpPid=$!


TDATE=$(date --date='-1 days ago' "+%m.%d.%y")
DATE=$(date "+%m.%d.%y")


killDump ()
{
    kill $dumpPid
}


zipPcap ()
{
    gzip -c $1 > $1.gz && rm $1
}


    while true; do
        until [[ "$DATE" == "$TDATE" ]]; do
            sleep 1800
        done
        killDump
        zipPcap $PCAPFILE &
        PCAPFILE=/tmp/mgmt.$(date "+%H.%M.%S.%m.%d").pcap
        tcpdump -i eth0 -nn -vv -s 1500 net 192.168.5 -w $PCAPFILE   2>&1 & 
        dumpPid=$!
        TDATE=$(date --date='-1 days ago' "+%m.%d.%y")
        DATE=$(date "+%m.%d.%y")
    done

I've tested this on a small scale on my personal laptop, but I've made a minor change as highlighted above that I want to make sure shouldn't cause any problems.

Since by the end of the day the pcap is probably going to be rather large, I don't want the script to have to wait for the old one to finish zipping before it starts the next capture, so is running the zipPcap function in the background like that an acceptable way of kicking off the compression, and having the rest of the script move forwards?

I'm pretty confident this should be fine, but as I'm working without a lab to test on right now, I wanted to get a second set of eyes.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

set background/foreground color in .profile

I am using a telnet session (VT100) and need to modify my .profile so that it will set the color of the telnet session. I am not using Xterm (ie: can't use .Xdefaults). I am able to change the colors via menu's but need to preset in .profile. Is this possible??? Can't find anything at all on how... (3 Replies)
Discussion started by: dvella
3 Replies

2. Shell Programming and Scripting

set schedule to run a script at background while logout

Hi, How can I run a script at 9:00am and 6:00pm everyday? Can I run it at background while I logout my account? Please help!! Many Thanks!! (1 Reply)
Discussion started by: happyv
1 Replies

3. UNIX for Advanced & Expert Users

How to set background colours for a cygwin console

Hi, I need to set the background colors for cygwin console, when I do ssh to production boxes. This should be done through commands.. Please suggest me asap. Thanks in advance. (3 Replies)
Discussion started by: praveen_b744
3 Replies

4. Shell Programming and Scripting

Need some help with this script -- extra eyes

I have two issues with this script. 1. I cannot seem to get my counters to count correctly. 2. My function to eject to CAP1 or CAP2 is hung in a loop and doens't exit back to the previous function. I would like to be able to select which cap to eject to . Each cap holds only 40 tapes, so when one... (15 Replies)
Discussion started by: gzs553
15 Replies

5. Programming

Another set of eyes

Original code used fwrite instead of putc. What is expected is that the destination file will be written to. Instead I end up with a zero length file. I'm sure there is something simple I'm missing. tia. #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char... (6 Replies)
Discussion started by: ramen_noodle
6 Replies

6. Shell Programming and Scripting

Broke Perl Script Second pair of eyes NET::FTPSSL

Hi all, Let me first start out by saying I'm a perl newbie and hope somebody can help, for the life of me I can't figure out why my script will not find and download a remote file via FTPSSL. What it's supposed to do is find the latest file named... (4 Replies)
Discussion started by: Styles
4 Replies

7. Shell Programming and Scripting

how to set background color in Unix terminal

Hi All, how do I set in .profile file Unix terminal background color = BLUE ? Please advice me. :confused: (2 Replies)
Discussion started by: raghur77
2 Replies

8. UNIX for Dummies Questions & Answers

Quick question about set number

In my .exrc file I have line numbers turned on but it adds an indent. I don't like this, is there a way to have the line numbers at the left edge of my terminal instead of indented? Here's my .exrc 1 set ignorecase noslowopen report=0 autoindent showmatch showmode nu 2 set... (4 Replies)
Discussion started by: ebadamageplan
4 Replies

9. Shell Programming and Scripting

Shell script that will do two things at once

I am trying to script up a build of my system from source, and the first couple of steps requires me to do a pull from a CVS mirror three times, and then the script begins. What I'd like is to be able to do one CVS pull, then start the build of userland, and while userland is building, pull down... (1 Reply)
Discussion started by: brakeb
1 Replies

10. Shell Programming and Scripting

How to set background image

Dear Friends I want to, set the background of mail as image/colorful using scripting. I try by send mail command but it is not working.Please give me suggestion on this. (1 Reply)
Discussion started by: AhmedLakadkutta
1 Replies
NetSDS::Util::DateTime(3pm)				User Contributed Perl Documentation			       NetSDS::Util::DateTime(3pm)

NAME
NetSDS::Util::DateTime - common date/time processing routines SYNOPSIS
use NetSDS::Util::DateTime; print "Current date: " . date_now(); DESCRIPTION
This package provides set of routines for date and time processing. EXPORTED FUNCTIONS
date_now_array([TIME]) Returns array of date items for given date. If source date is not set current date used. date_now([TIME]) Return [given] date as string. 2001-12-23 14:39:53 date_now_iso8601([TIME]) Return date as ISO 8601 string. 20011223T14:39:53Z <http://en.wikipedia.org/wiki/ISO_8601> http://www.w3.org/TR/NOTE-datetime <http://www.w3.org/TR/NOTE-datetime> date_strip(DATE) Trim miliseconds from date. date_date(DATE) Trim time part from date. date_time(DATE) Trim date part from date. time_from_string($string) Return parsed date/time structure. date_from_string($string) Return date from string representation. date_inc([INCREMENT, [TIME]]) Return date incremented with given number of seconds. date_inc_string([INCREMENT, [TIME]]) Return string representation of date incremented with given number of seconds. EXAMPLES
None yet BUGS
Unknown yet SEE ALSO
Date::Parse, Date::Format TODO
Import stuff from Wono project AUTHOR
Valentyn Solomko <val@pere.org.ua> Michael Bochkaryov <misha@rattler.kiev.ua> perl v5.12.4 2011-08-27 NetSDS::Util::DateTime(3pm)
All times are GMT -4. The time now is 10:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy