Sponsored Content
Full Discussion: Clear log file in use.
Top Forums UNIX for Advanced & Expert Users Clear log file in use. Post 302122222 by porter on Tuesday 19th of June 2007 05:10:36 PM
Old 06-19-2007
Quote:
Originally Posted by coolbhai
So you meant to say." I cant do anything other than watch the log growing in size !!"
The problems are

(a) if the program always keeps the file open, eg it does not reopen on SIGHUP or every message or day.

(b) trying to clear it atomically

Two parts to my solution...

1. There is a UNIX API called "truncate" which will set a file to a certain number of bytes.

2. we can suspend and resume the program with signals SIGSTOP and SIGCONT

So the steps are

1. write a tiny C program that wraps up truncate

Code:
#include<unistd.h>
#include <errno.h>
int main(int argc,char **argv) {
int rc=0;
      while (--argc)
      {
            const char *p=*++argv;
            if (truncate(p,0UL)) {
                 perror(p);
                 rc=1;
            }
      }
      return rc;
}

2. do the following

kill -STOP pid-of-process
cp logfilename backup
truncate logfilename
kill -CONT pid-of-process
 

10 More Discussions You Might Find Interesting

1. AIX

Can't clear error log

Hi errclear seems not working on aix 4.3/rs6k, i can't clear HW error with errclear -d H 0 ??? what is wrong ? thanks. (0 Replies)
Discussion started by: andryk
0 Replies

2. Shell Programming and Scripting

How can I clear a line of a file?

Hello, I want to clear or modify a line of a file. It is possible by cat filename | sed '3d' for example. But If I want "3" to be a variable? I can't do sed '$var d' Help me please Thank you very much (1 Reply)
Discussion started by: Nene
1 Replies

3. Linux

SED/AWK Script to clear log file using timestamp?

I have a log file on our system which fills up with lines that have been timestamped, as follows.... 03/03/2008 10:56:06:815] (ERROR) balance: continuing session to genapp02 : 18500 03/03/2008 10:56:06:820] (ERROR) balance: continuing session to genapp02 : 18500 03/03/2008 10:56:07:003]... (2 Replies)
Discussion started by: davesimm
2 Replies

4. Shell Programming and Scripting

clear a file in PERL

Hi, How can i clear the contents of a file in perl? (1 Reply)
Discussion started by: chriss_58
1 Replies

5. Shell Programming and Scripting

How to clear a file

Hello, I have a script which creates a certain text file. Whenever I call it, I need to recreate this file, because I have no need in the previous content. So I thought to remove the file every time I call the script, and that way I am sure that the previous content will not interrupt me.... (2 Replies)
Discussion started by: shira
2 Replies

6. AIX

clear/delete log from 'last' or 'lastlog' command

Dear Friends , From 'last' or 'lastlog' command , I can get the last login informations of the users . now as a system admin , If I want to delete the log information from this 'last' 'lastog' command , then is it possible to do ? plz inform ... ... (1 Reply)
Discussion started by: shipon_97
1 Replies

7. Shell Programming and Scripting

clear extra spaces and tabs in a file

Any help appreciated Thanks sample input: > (extra spaces&tabs in here) test1 (extra spaces&tabs in here) 123.123.123.123 (extra spaces&tabs in here) abc (extra spaces&tabs in here) 123 --- < (extra spaces&tabs in... (3 Replies)
Discussion started by: goofist
3 Replies

8. Shell Programming and Scripting

How to clear contents of a file without deleting it.

Hi, I have a script which will use an input.txt file as an input file. I am providing data to this input file in the script and once the script is executed, I want to clear all the contents of this file as during the second time use of this script, I'll be appending the data in this input... (5 Replies)
Discussion started by: pat_pramod
5 Replies

9. Shell Programming and Scripting

Tcl and clear case to obtain a file name as variable

proc get_view_rel_str { } { set cc_view :] end]] puts $cc_view set a puts $a set a end]] puts $a set a puts $a set a puts $a set a puts $a } get_view_rel_str this is a script in tcl with clearcase view (1 Reply)
Discussion started by: Syed Imran
1 Replies

10. UNIX for Dummies Questions & Answers

How to clear last 5 characters from 14th field in a file?

Hi, I have a file with 15 fields seperated by '|'. The requirement is to clear the last 5 characters of the 14th field. modifications should be done to the original file . Can some one help me in sorting this out. (2 Replies)
Discussion started by: sureshk_85
2 Replies
explain_truncate_or_die(3)				     Library Functions Manual					explain_truncate_or_die(3)

NAME
explain_truncate_or_die - truncate a file and report errors SYNOPSIS
#include <libexplain/truncate.h> void explain_truncate_or_die(const char *pathname, long long length); DESCRIPTION
The explain_truncate_or_die function is used to call the truncate(2) system call. On failure an explanation will be printed to stderr, obtained from explain_truncate(3), and then the process terminates by calling exit(EXIT_FAILURE). This function is intended to be used in a fashion similar to the following example: explain_truncate_or_die(pathname, length); pathname The pathname, exactly as to be passed to the truncate(2) system call. length The length, exactly as to be passed to the truncate(2) system call. Returns: This function only returns on success. On failure, prints an explanation and exits. SEE ALSO
truncate(2) truncate a file to a specified length explain_truncate(3) explain truncate(2) errors exit(2) terminate the calling process COPYRIGHT
libexplain version 0.52 Copyright (C) 2008 Peter Miller explain_truncate_or_die(3)
All times are GMT -4. The time now is 09:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy