Sponsored Content
Top Forums Shell Programming and Scripting Help with a rotate log script Post 302698129 by elixir_sinari on Saturday 8th of September 2012 07:37:20 AM
Old 09-08-2012
Like this (using ksh93)?:
Code:
#!/usr/bin/ksh93

file_to_rotate=$1
max=$2

[[ ! -f $file_to_rotate ]] && { echo "$file_to_rotate is not valid"; exit;}
((max==1)) && { cp -p "$file_to_rotate" "$file_to_rotate".1; exit;}

filearr=($(ls "$file_to_rotate".*|sort -t. -nk2))
numfiles=${#filearr[*]}
((x=$((numfiles>=max?max-2:numfiles-2))))

while (( x >= 0 ))
do
 cp -p "${filearr[$x]}" "${filearr[$((x+1))]}"
 ((x--))
done

((x==-1)) && cp -p "$file_to_rotate" "$file_to_rotate".1

Hope your filenames don't contain spaces.

Last edited by elixir_sinari; 09-08-2012 at 09:10 AM..
 

10 More Discussions You Might Find Interesting

1. HP-UX

Check size and rotate log script.

Hi Can you suggest some perl script. My OS is HP-UX 11.11 I want to it into a cron job. Every night it will backup the file with that day's date and open a dummy file. Thanks Ash (3 Replies)
Discussion started by: ashishT
3 Replies

2. Shell Programming and Scripting

how to rotate log files

hi friends i need a shell script to rotate the logs in a directory, dated n days back. can anybody of help. appreciate.. (0 Replies)
Discussion started by: satya_skm
0 Replies

3. UNIX for Advanced & Expert Users

log rotate

hi , what is the meaning of log rotate? how do i rotate /var/adm/wtmps log and gzip it? (6 Replies)
Discussion started by: cromohawk
6 Replies

4. Shell Programming and Scripting

Script for Log Rotate

Hello, I only know the basic for shell programing. I need help for this, I thinks this is a basic for anyone who know a litle of shell scripting. I need creat a script for a rotatate logs, when a filesystem is full. I have a filesystem. The rotate consist in zip the current log (copy) and... (1 Reply)
Discussion started by: El Rengo
1 Replies

5. Shell Programming and Scripting

cron script to rotate log files

I have a mac server. I have been having problems with my logs. My hard disk became full, when i researched into why it was full it was due to massive log files. There was barley any log rotation policies in place on the server. I tired to use logrotate. This doesn't work on my server. It is a MAC... (19 Replies)
Discussion started by: timgolding
19 Replies

6. Shell Programming and Scripting

Rotate log files

I have a big log,separated by the character:, one of the fields is the date in the format "day / month / year" and I need to remove the lines prior to 30 days. Can help me? (7 Replies)
Discussion started by: msanbrug
7 Replies

7. Shell Programming and Scripting

Rotate log everyday on existing script

quick question: I have a current script that will put the output on a log file. See snapshot of the code below. I wanted this to be rotated everyday based on date. So if anyone execute the script today there will be a filecreated such as sys.log.(datetoday), if tomorrow it would be... (1 Reply)
Discussion started by: lhareigh890
1 Replies

8. Shell Programming and Scripting

"Customized" log rotate script - some advice please

Hi, Am trying to write my own version of a log rotate scripts 'coz I don't have the logrotate for other flavors of *nix servers. Probably should try and download the source and re-compile but our SA don't want to do so. Anyway, just want to know if there is any way to improve on the code... (0 Replies)
Discussion started by: newbie_01
0 Replies

9. Shell Programming and Scripting

Script to rotate file log

Hi Experts, I have script on crontab and give output quite large. I would like to know how to create rotate log when the size of log maximum 50MB if the test.log is 50MB then create test.0 Thanks Edy (2 Replies)
Discussion started by: edydsuranta
2 Replies

10. Shell Programming and Scripting

Log rotate

Hi, I have below script in logrotate.d to rotate logs. logs are not rotating after the file grow to 1k, do you have any idea? Is it because of it just only 1K? Please let me know if the below syntax is in correct. # more trotate /sourcepath/*/servers/*/logs/*log... (2 Replies)
Discussion started by: lpprasad321
2 Replies
MAX(3)									 1								    MAX(3)

max - Find highest value

SYNOPSIS
mixed max (array $values) DESCRIPTION
mixed max (mixed $value1, mixed $value2, [mixed $...]) If the first and only parameter is an array, max(3) returns the highest value in that array. If at least two parameters are provided, max(3) returns the biggest of these values. Note Values of different types will be compared using the standard comparison rules. For instance, a non-numeric string will be com- pared to an integer as though it were 0, but multiple string values will be compared alphanumerically. The actual value returned will be of the original type with no conversion applied. PARAMETERS
o $values - An array containing the values. o $value1 - Any comparable value. o $value2 - Any comparable value. o $... - Any comparable value. RETURN VALUES
max(3) returns the parameter value considered "highest" according to standard comparisons. If multiple values of different types evaluate as equal (e.g. 0 and 'abc') the first provided to the function will be returned. EXAMPLES
Example #1 Example uses of max(3) <?php echo max(2, 3, 1, 6, 7); // 7 echo max(array(2, 4, 5)); // 5 // The string 'hello' when compared to an int is treated as 0 // Since the two values are equal, the order they are provided determines the result echo max(0, 'hello'); // 0 echo max('hello', 0); // hello // Here we are comparing -1 < 0, so 'hello' is the highest value echo max('hello', -1); // hello // With multiple arrays of different lengths, max returns the longest $val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1) // Multiple arrays of the same length are compared from left to right // so in our example: 2 == 2, but 5 > 4 $val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1) // If both an array and non-array are given, the array will be returned // as comparisons treat arrays as greater than any other value $val = max('string', array(2, 5, 7), 42); // array(2, 5, 7) // If one argument is NULL or a boolean, it will be compared against // other values using the rule FALSE < TRUE regardless of the other types involved // In the below example, -10 is treated as TRUE in the comparison $val = max(-10, FALSE); // -10 // 0, on the other hand, is treated as FALSE, so is "lower than" TRUE $val = max(0, TRUE); // TRUE ?> SEE ALSO
min(3), count(3). PHP Documentation Group MAX(3)
All times are GMT -4. The time now is 02:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy