advice on shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting advice on shell script
# 1  
Old 07-30-2008
advice on shell script

Hello,
I have this script running on cron every 20 minutes.
By 12pm daily, our system is expecting all input files to be uploaded by the script.
After this cutoff time, the script would still be running though, but i need some kind of alerts/logs to know which input files weren't received for that day.

These daily input files will be sent to us in different timings:
INPUT_FUBX
INPUT_FSTV
INPUT_FGBR
INPUT_FJMT
INPUT_FWRP
INPUT_FQZN
INPUT_FPBT
INPUT_FMHQ
INPUT_FDGP

Below are some lines from my script:

DATE=`date +%Y%m%d_%H%M%S`
PATH=/my/home/directory/path/
ARCHIVE=/my/archive/directory/path/
LIST="INPUT_FUBX INPUT_FSTV INPUT_FGBR INPUT_FJMT INPUT_FWRP INPUT_FQZN INPUT_FPBT INPUT_FMHQ INPUT_FDGP"

for i in $LIST
do
if [[ ! -a $PATH/$i ]]
then
echo 'Input file '${i}' still missing.'
elif [[ -s $PATH/$i ]]
then
## Call upload processing functions here ##
mv $PATH/$i $ARCHIVE/$i_$DATE
fi
done

With the above, I was able to know which input files were still missing, but only during those certain time specified in cron timings.
I won't know which among the input files were missed out totally after the cutoff time for the day.
Any ideas here?

Also, is there a way to make this script flexible so as whenever we add to the list of input files, say add another file named INPUT_FTBS, I don't need to modify the LIST variable in the script everytime.

Appreciate it.
Thanks much.
# 2  
Old 07-30-2008
Hammer & Screwdriver A few things to look at

(a) Much easier to read a script when you use codetags. After pasting in script text, highlight the script and select the '#' icon - which will maintain spacing of your script.

(b) You could store the variable names in a file, and then use the file to set all of the names. See the following

Code:
> cat sample2
INPUT_FUBX
INPUT_FSTV
INPUT_FGBR
INPUT_FJMT
INPUT_FWRP
INPUT_FQZN
INPUT_FPBT
INPUT_FMHQ
INPUT_FDGP
> cat sample2 | tr "\n" " "
INPUT_FUBX INPUT_FSTV INPUT_FGBR INPUT_FJMT INPUT_FWRP INPUT_FQZN INPUT_FPBT INPUT_FMHQ INPUT_FDGP  
> sample2x=$(cat sample2 | tr "\n" " ")
> echo $sample2x
INPUT_FUBX INPUT_FSTV INPUT_FGBR INPUT_FJMT INPUT_FWRP INPUT_FQZN INPUT_FPBT INPUT_FMHQ INPUT_FDGP

(c) Change the logic of your loop to read from the file [as you created in (b)]

Code:
while read zf
  do
  echo $zf  #showing the variable
  blah - blah
done <sample2

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script advice

All I have 2 parent directories - input and output. Each parent has multiple sub-directories...each sub-directory has multiple files. Each parent directory structure is a mirror image of itself I need to poll the imput directory and if a new file is found, encrypt the file, move the file to... (2 Replies)
Discussion started by: davidra
2 Replies

2. Shell Programming and Scripting

Help! Basic shell script advice

##### (2 Replies)
Discussion started by: AidoPotato
2 Replies

3. Shell Programming and Scripting

Advice required shell script

Hi all, this is my first post, so please be gentle... I have a situation wherby I need a script that traverses known paths. Check for the modified date (n days) and then deletes all subdirs. I have come up with this hotch potch, but as far as I can tell it seems to work. What I am wondering... (4 Replies)
Discussion started by: primus7
4 Replies

4. UNIX for Dummies Questions & Answers

Few shell programs advice

Hy i have some tasks to do in school but i'm having problems with it,so could you help me out? :) first there is a task where i have to find a running program on the system and kill it, then repeat that every 5 minutes. The name of the process is given with an argument. I have done this so far,... (1 Reply)
Discussion started by: petel1
1 Replies

5. Shell Programming and Scripting

Advice on script

Hi folks, I use following script:- #!/bin/sh # cd Linbread TODAY=`date +"%m%d"` DATA=`grep $TODAY linbread.dat` HOUR=`date +"%H"` if then TOD="Morning" elif then TOD="Afternoon" else TOD="Evening" fi echo $DATA | gawk -F"|" '{printf("%s\n\n%s",$2,$3)}' > $$tmp fold -s -w60... (0 Replies)
Discussion started by: satimis
0 Replies

6. UNIX for Advanced & Expert Users

Career advice for experienced shell script coder, need help.

I have four years of shell scripting experience in AIX and HP-UX and have worked in perl scripts as well, the good part is i love scripting and so far i have been getting job offers as well. The bad part is , shell scripting is all i know , so the kind of jobs i am getting is mostly production... (2 Replies)
Discussion started by: harishrao
2 Replies

7. UNIX for Dummies Questions & Answers

shell scripting help/advice

hello i am trying to generate a list of the most bandwidth consuming ip's from an Apache style log file. the script is run with the path to the log file as the only peramater. here is my code so far: echo "The ten most bandwidth consuming IP's were:" $outpt='' for ip in $(awk '{print $1}'... (4 Replies)
Discussion started by: qcent
4 Replies

8. Shell Programming and Scripting

Script Advice please?

Ok. I want to parse a log file and search only for denied traffic for the previous hour. The log looks like this: Jun 18 17:47:56 routername 36806: Jun 18 17:53:01.088: %SEC-6-IPACCESSLOG: list ingress-filter denied tcp 1.2.3.4(1234) -> 6.7.8.9(53), 4 packets I only really care about the... (12 Replies)
Discussion started by: earnstaf
12 Replies

9. Shell Programming and Scripting

first script. need help and advice.

Hello everyone, This is my first post here and this is the first time I am using UNIX OS (Slackware). I find it really useful and powerful and would like to master it but as you may guess I am expreicing quite a few problems. I've been reading a few documentations about it and bash this week... (17 Replies)
Discussion started by: sanchopansa
17 Replies

10. Shell Programming and Scripting

c-shell script advice please.

Hi, I have the following script running in my cron. -------------------------------------------------------------------- #!/bin/csh bnstat -p GPD_VSLinux | grep pg | grep varcon | awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}' > /tmp/LX_xbatch.log bnstat -p GPD_VSLinux_test | grep pg... (2 Replies)
Discussion started by: killerserv
2 Replies
Login or Register to Ask a Question