I have a shell script with 2 run time arguments. During the execution if i got any error, then it needs to redirected to a error file and in console. Also both error and output to be redirected to a log file.
Error output is getting copied to err file and getting displayed in console too. But in log file the output and error message it getting redirected twice. I am not willing to use set -x option.
Code:
#! /bin/sh
errExit ()
{
errMsg=`cat $1.log >> "$1".err`
cat "$1".err | tee /dev/fd/3
return
}
test()
{
logfile=$1
exec 3>&1 1>>"${logfile}".log 2>&1
echo "$1"
echo "$2"
echo " "
echo "#################################################"
echo "Hi Hello,This is first function"
echo "#################################################"
if [[ -z "$2" ]];
then
errExit $logfile
return
else
#<some Commands Here>
fi
}
test_1()
{
logfile=$1
exec 3>&1 1>>"${logfile}".log 2>&1
echo "$1"
echo "$2"
echo " "
echo "#################################################"
echo "Hi Hello,This is second function"
echo "#################################################"
if [[ -z "$2" ]];
then
errExit $logfile
return
else
#<some Commands Here>
fi
}
I have a file, let's say 1.jpg, and I have a text file that contains a list of filenames I would like to duplicate 1.jpg as (i.e., 2.jpg, 3.jpg, 4.jpg, etc.). The filenames that I want to create are all on separate lines, one per line.
I'm sure there's a simple solution, but I'm not claiming to... (7 Replies)
i have many questions concerning the FD.
it was stated that "to redirect Error to output std, you have to write the following code"
# ls -alt FileNotThere File > logfile 2>&1
# cat logfile
ls: cannot access FileNotThere: No such file or directory
-rw-r--r-- 1 root root 0 2010-02-26... (9 Replies)
cat is the normal unix command to display the content of a file.
Is there any program to display the content of the file.
If there is, then can you send me the code. (5 Replies)
Hi Guys
I want to write a script which search mail with subject line and after that I want the mail content in a file
please help guys.
Thanks
Atul Singh (3 Replies)
To delete log files content older than 30 days and append the lastest date log file date in the respective logs
I want to write a shell script that deletes all log files content older than 30 days and append the lastest log file date in the respective logs
This is my script
cd... (2 Replies)
Hi All,
Below is my requirement.
I need to pick the certain content from log file and display. for example log file consist of following information
project1
project2
project3
filename1, size1, ower1, datecreated
filename2, size2, ower2, datecreated
filename3, size3, ower3,... (6 Replies)
Plese help I need a urgent requirement.
Ex: test.log
requirement : using shell script I need to archive the log file and nil and the content of (test.log) file to 0 kb
and then in the archive folder log files are name to test.tar
test1.tar
test2.tar
EX:
/home/abc/
test.log ... (1 Reply)
Hi all,
i have a logfile which is continuously being updated. I have built a script to check for a specific content and if it is found, it sends a string into a file. Here's the current script:
#!/bin/bash
logfile=/opt/jboss-eap-6.3/standalone/log/server.log
tail -fn0 $logfile | \... (7 Replies)
Discussion started by: nms
7 Replies
LEARN ABOUT SUSE
net::daemon::log
Net::Daemon::Log(3) User Contributed Perl Documentation Net::Daemon::Log(3)NAME
Net::Daemon::Log - Utility functions for logging
SYNOPSIS
# Choose logging method: syslog or Win32::EventLog
$self->{'facility'} = 'mail'; # Default: Daemon
$self->{'logfile'} = undef; # Default
# Choose logging method: stderr
$self->{'logfile'} = 1;
# Choose logging method: IO handle
my $file = IO::File->new("my.log", "a");
$self->{'logfile'} = $file;
# Debugging messages (equivalent):
$self->Log('debug', "This is a debugging message");
$self->Debug("This is a debugging message");
# Error messages (equivalent):
$self->Log('err', "This is an error message");
$self->Error("This is an error message");
# Fatal error messages (implies 'die')
$self->Fatal("This is a fatal error message");
WARNING
THIS IS ALPHA SOFTWARE. It is *only* 'Alpha' because the interface (API) is not finalised. The Alpha status does not reflect code quality
or stability.
DESCRIPTION
Net::Daemon::Log is a utility class for portable logging messages. By default it uses syslog (Unix) or Win32::EventLog (Windows), but
logging messages can also be redirected to stderr or a log file.
Generic Logging
$self->Log($level, $msg, @args);
This is the generic interface. The logging level is in syslog style, thus one of the words 'debug', 'info', 'notice', 'err' or 'crit'.
You'll rarely need info and notice and I can hardly imagine a reason for crit (critical). In 95% of all cases debug and err will be
sufficient.
The logging string $msg is a format string similar to printf.
Utility methods
$self->Debug($msg, @args);
$self->Error($msg, @args);
$self->Fatal($msg, @args);
These are replacements for logging with levels debug and err. The difference between the latter two is that Fatal includes throwing a Perl
exception.
Chossing a logging target
By default logging will happen to syslog (Unix) or EventLog (Windows). However you may choose logging to stderr by setting
$self->{'logfile'} = 1;
This is required if neither of syslog and EventLog is available. An alternative option is setting
$self->{'logfile'} = $handle;
where $handle is any object supporting a print method, for example an IO::Handle object. Usually the logging target is choosen as soon as
you call $self->Log() the first time. However, you may force choosing the target by doing a
$self->OpenLog();
before calling Log the first time.
MULTITHREADING
The Multithreading capabitities of this class are depending heavily on the underlying classes Sys::Syslog, Win32::EventLog or IO::Handle.
If they are thread safe, you can well assume that this package is too. (The exception being that you should better call $self->OpenLog()
before threading.)
AUTHOR AND COPYRIGHT
Net::Daemon is Copyright (C) 1998, Jochen Wiedmann
Am Eisteich 9
72555 Metzingen
Germany
Phone: +49 7123 14887
Email: joe@ispsoft.de
All rights reserved.
You may distribute this package under the terms of either the GNU
General Public License or the Artistic License, as specified in the
Perl README file.
SEE ALSO Net::Daemon(3), Sys::Syslog(3), Win32::EventLog(3), IO::Handle(3)perl v5.12.1 2007-05-23 Net::Daemon::Log(3)