Need help with script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help with script
# 1  
Old 12-04-2008
Need help with script

for i in "/var/log/all/*"
do
set -- $i
for j in "$i/sudo.*"
do
cat $j | /home/dariley/sudo-filter.pl
done
done


The result is the following error message:

./sudo-filter-invoker.sh: /bin/cat: arg list too long

I want the script to go through all the log files on this log server and find the sudo entries which are then piped into a perl script. Please help, what am I missing?
# 2  
Old 12-04-2008
i think $j is getting a huge no of argument so its giving that error..
try using different logic
# 3  
Old 12-05-2008
Hi,

i don't understand what you are using the two for loops for.
If you try to traverse down recursively a directory, find can
do this for you. If you use "while read" instead of for, you
can pass the filenames one by one. Take this as an example:

Code:
find /var/log/all -iname "sudo\.*" | while read file 
do 
  cat "$file" | /home/dariley/sudo-filters.pl
done

HTH Chris
# 4  
Old 12-05-2008
Chris,

thank you for the suggestion but I'm afraid that didn't work so well.
It created about two thousand emails in two minutes Smilie

The orginal statement that use to work when the filesystem was small:
#!/bin/sh
cat /var/log/all/*/sudo.* | \
/home/dariley/sudo-filter.pl

I can get this to work if I specify each serverlog in the subdirectory:

#!/bin/sh
cat /var/log/all/watership/watership.current | \
/home/dariley/sudo-filter.pl

but I want to make it so that as new server logs are added I don't have to edit the script.

Any suggestions?

Thanks.
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question