Limit ouput file on a shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Limit ouput file on a shell script
# 1  
Old 06-21-2010
Limit ouput file on a shell script

I have this one:Smilie doing jstack on JVM proccess.
Code:
#!/bin/ksh
# ----------------------------------------------------
# capture_jstack.sh    <INTERVAL> <COUNT>
# run jstack and capture output to a log file
#-----------------------------------------------------
#
# scripts and logs are stored
export PROGDIR=/var/tmp/
export LOGDIR=/var/tmp/

# logfile name and location
export LOG_FILE=${LOGDIR}/capture_jstack.${LOGNAME}.log

# write current date/time to log file
echo "#--- $(date) ---"           >> ${LOG_FILE}
cd /usr/jdk/instances/jdk1.5.0/bin/amd64/
for  PID in `ps -ef|grep xxxxx|grep -v grep |awk '{print $2}'`; 
do jstack -m $PID >> ${LOG_FILE}
done;

How do I limit the output log file to 10MB round robin?Smilie

Moderator's Comments:
Mod Comment Please use code tags for scripts and other listings, ty

Last edited by pludi; 06-21-2010 at 10:07 AM..
# 2  
Old 06-21-2010
What exactly do you mean by round-robin?
Do yo want to rotate the log file every 10 MB (like create a log1, log2, log3, each with a max size of 10 MB)?
Or, do you only want to keep the last 10 MB of the jstack output?
# 3  
Old 06-21-2010
rolling Log file

Just keeping last 10 MB.
# 4  
Old 06-21-2010
The simplest way I can think of is to check the size of the log file after your loop with jstack and use tail -c to dump the last 10MB into a temp file and then rename the temp file to the original LOG_FILE.

However, if your issue is that you do not want the LOG_FILE to ever go beyond 10 MB due to disk space, then you can try putting this check within the loop immediately after the call to jstack (that can still require 20MB of disk space, depending on how much data one call to jstack generates).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell script ouput conversion

Hi All, I am trying to print all the packages info in solaris 11 using below script. #!/usr/bin/env bash pkginfo -l | egrep '(BASEDIR|NAME|VERSION)' | awk '{print}' > /tmp/cp1 /usr/bin/nawk -F: ' {for (i=1; i<=NF; i++) {gsub (/^ *| *$/, "", $i) ... (5 Replies)
Discussion started by: sravani25
5 Replies

2. Shell Programming and Scripting

Shell Script has different ouput via cron vs when run Manually

Hello Lads, I deployed a script on my mac to start and stop EC2 instances on AWS console. The script when started manually on the terminal does the expected stop and start. Problem is when i try to schedule it on a cron, it fails to recognize the AWS Keys which i set up as ENV variable by... (2 Replies)
Discussion started by: Irishboy24
2 Replies

3. Shell Programming and Scripting

Inserting ouput into a file using redirection

Hallo Team, I would like to redirect an output from a file into another file. Here are the two commands/files. -bash-3.2$ cat lack.csv lemontwistpax -bash-3.2$ ll -ltr BW*|tail -1 -rw-r--r-- 1 mind mind 1844 Sep 25 12:06... (8 Replies)
Discussion started by: kekanap
8 Replies

4. UNIX for Dummies Questions & Answers

Wget ouput to log file

Hi all The following code will update the Dynamic DNS server at Namecheap.com. wget -O 'https://dynamicdns.park-your-domain.com/update?host=www&domain=example.com&password=your DDNS password'Would like to append the output to a log file using >> /path/path/logfile at the end of the command. ... (7 Replies)
Discussion started by: CRChamberlain
7 Replies

5. Shell Programming and Scripting

Call a Perl script within a bash script and store the ouput in a .txt file

I'm attempting to write a bash script that will create a network between virtual machines. It accepts three arguments: an RSpec that describes the network topology, and two list of machines (servers and clients). I have a (working) Perl script that I want to call. This Perl script takes an RSpec... (6 Replies)
Discussion started by: mecaka
6 Replies

6. Shell Programming and Scripting

How to remove a file in shell script if its size exceeds limit?

How can i remove a file using shell script when its size exceeds 10MB. Given that file is located in different location to the shell script where it is running? (4 Replies)
Discussion started by: vel4ever
4 Replies

7. Shell Programming and Scripting

csh shell script 'set' argument limit?

Hi , I have a script that is causing a problem that led me to think if there is a limit to the number of arguments for 'set' command in csh shell script. Here is my script: #!/bin/csh -f set top = design_top #1 set v_mbist = ( sim_mbist/*.v ) #2 set v_simlist = ( -v... (2 Replies)
Discussion started by: return_user
2 Replies

8. Shell Programming and Scripting

View ouput as a file

Hi all , I have a view in teradata , the ouput of that view have to be stored as a file with delimitere as '|'.Is there any possibility of doing this in unix ? Thanks in advance , Vinoth (6 Replies)
Discussion started by: vino.paal
6 Replies

9. Shell Programming and Scripting

script to eliminate left and right fields and to get the ouput.

Hi Experts, I have a file as given below and want to filter out the filenames in it , by deleting left and right filds and to have the fllenames (There are spaces in the filename), Sun Jan 11 11:20:10 2009 1 0 /home/output/file2311_recent.list user1 user2 0 done Sun Jan 11 11:20:10 2009 1 0... (10 Replies)
Discussion started by: rveri
10 Replies

10. Shell Programming and Scripting

Is there a limit to the no. of arguments to a shell script ?

What is the maximum no. of arguments that could be passed to a shell script ? Is there any restriction ? I've a requirement where I need to pass a list of names to a unix script and I guess the number of such names is not a fixed one. It can run into hundreds. Is this feasible ? (4 Replies)
Discussion started by: hidnana
4 Replies
Login or Register to Ask a Question