Sponsored Content
Top Forums Shell Programming and Scripting Redirecting STDERR to file and screen, STDOUT only to file Post 302698121 by bakunin on Saturday 8th of September 2012 06:29:58 AM
Old 09-08-2012
Fantastic! This is one of the threads that keep me coming here again and again.

When i wrote my first post i had the following script as data source for tests (AIX 6.1 last TL):

Code:
#! /bin/ksh

print -u1 "This goes to stdout."
print -u2 "This goes to stderr."

exit 0

I understand now why that worked with my redirections but in other more real-life situations they might fail.

My focus is on writing scripts to accomplish tasks and i want my own messages (error and warning/info) to be as tolerant as possible, so here is what i suggest as a solution for writing custom scripts:

- Put a time stamp in every line of output. Even if the lines in the output file will become disorganized, a simple "sort" will put them in order again. I use a certain "output format" for my lines, which is consistent across scripts:

[PID TIMESTAMP MSGCLASS message]

where MSGCLASS is either "Info", "Warning" or "Error".

- Work similar to "syslog": all (error/warning/info) messages to a info log, and error messages also to a separate error log. This way you can avoid the elaborate redirection gymnastics for the usual things you want to achieve.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

redirecting STDOUT & STDERR

In bash, I need to send the STDOUT and STDERR from a command to one file, and then just STDERR to another file. Doing one or the other using redirects is easy, but trying to do both at once is a bit tricky. Anyone have any ideas? (9 Replies)
Discussion started by: jshinaman
9 Replies

2. Shell Programming and Scripting

Redirecting STDERR message to STDOUT & file at same time

Friends I have to redirect STDERR messages both to screen and also capture the same in a file. 2 > &1 | tee file works but it also displays the non error messages to file, while i only need error messages. Can anyone help?? (10 Replies)
Discussion started by: vikashtulsiyan
10 Replies

3. Shell Programming and Scripting

How to redirect stderr and stdout to a file

Hi friends I am facing one problem while redirecting the out of the stderr and stdout to a file let example my problem with a simple example I have a file (say test.sh)in which i run 2 command in the background ps -ef & ls & and now i am run this file and redirect the output to a file... (8 Replies)
Discussion started by: sushantnirwan
8 Replies

4. Shell Programming and Scripting

sending stdout and stderr to a file

working on a c sell script I think I understand the concept of it, which is: filename >> file.txt (to appaend) or filename | tee -a file.txt (to append) The problem is that my shell script is used with several parameters, and these commands don't seem to work with just filename. They... (2 Replies)
Discussion started by: mistermojo
2 Replies

5. Shell Programming and Scripting

Redirect stdout/stderr to a file globally

Hi I am not if this is possible: is it possible in bach (or another shell) to redirect GLOBALLY the stdout/stderr channels to a file. So, if I have a script script.sh cmd1 cmd2 cmd3 I want all stdout/stderr goes to a file. I know I can do: ./script.sh 1>file 2>&1 OR ... (2 Replies)
Discussion started by: islegmar
2 Replies

6. Shell Programming and Scripting

Preserve output order when redirecting stdout and stderr

Hi, I already searched through the forum and tried to find a answer for my problem but I didn't found a full working solution, thats way I start this new thread and hope, some can help out. I wonder that I'm not able to find a working solution for the following scenario: Working in bash I... (8 Replies)
Discussion started by: Boemm
8 Replies

7. Programming

stderr stdout to a log file

I originally wrote my script using the korn shell and had to port it to bash on a another server. My script is working find for backing up but noticed that now after the move, I am not getting any output to my log files. Using Korn shell, this worked for me for some odd reason. This was sending... (2 Replies)
Discussion started by: metallica1973
2 Replies

8. Shell Programming and Scripting

Redirect STDOUT & STDERR to file and then on screen

Dear all, redirecting STDOUT & STDERR to file is quite simple, I'm currently using: exec 1>>/tmp/tmp.log; exec 2>>/tmp/tmp.logBut during script execution I would like the output come back again to screen, how to do that? Thanks Lucas (4 Replies)
Discussion started by: Lord Spectre
4 Replies

9. Shell Programming and Scripting

Lost redirecting stderr & stdout to 3 files - one each plus combined

Hi folks I need/want to redirect output (stdout, stderr) from an exec call to separate files. One for stderr only and two(!) different (!) ones for the combined output of stderr and stdout. After some research and testing i got this so far : (( exec ${command} ${command_parameters} 3>&1... (6 Replies)
Discussion started by: MDominok
6 Replies

10. Shell Programming and Scripting

Redirect STDOUT & STDERR to file and then on screen

Dear all, redirecting STDOUT & STDERR to file is quite simple, I'm currently using: Code: exec 1>>/tmp/tmp.log; exec 2>>/tmp/tmp.log But during script execution I would like the output come back again to screen, how to do that? Thanks Luc edit by bakunin: please use CODE-tags like the... (6 Replies)
Discussion started by: tmonk1
6 Replies
PMDARSYSLOG(1)						       Performance Co-Pilot						    PMDARSYSLOG(1)

NAME
pmdarsyslog - rsyslog (reliable and extended syslog) PMDA DESCRIPTION
pmdarsyslog is a Performance Metrics Domain Agent (PMDA) which exports metric values from the rsyslogd(8) server. Further details about rsyslog can be found at http://www.rsyslog.com/. INSTALLATION
If you want access to the names and values for the rsyslog performance metrics, do the following as root: # cd $PCP_PMDAS_DIR/rsyslog # ./Install If you want to undo the installation, do the following as root: # cd $PCP_PMDAS_DIR/rsyslog # ./Remove pmdarsyslog is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed. In order to use this agent, rsyslog stats gathering must be enabled. This is done by adding the lines: $ModLoad impstats $PStatsInterval 5 # log every 5 seconds syslog.info |/var/log/pcp/rsyslog/stats to your rsyslog.conf(5) configuration file after installing the PMDA. Take care to ensure the syslog.info messages do not get logged in any other file, as this could unexpectedly fill your filesystem. Syntax useful for this is syslog.!=info for explicitly excluding these. FILES
/var/log/pcp/rsyslog/stats named pipe containing statistics exported from rsyslog, usually created by the PMDA Install script. $PCP_PMDAS_DIR/rsyslog/Install installation script for the pmdarsyslog agent $PCP_PMDAS_DIR/rsyslog/Remove undo installation script for the pmdarsyslog agent $PCP_LOG_DIR/pmcd/rsyslog.log default log file for error messages from pmdarsyslog SEE ALSO
pmcd(1), rsyslog.conf(5), rsyslogd(8). 3.8.10 Performance Co-Pilot PMDARSYSLOG(1)
All times are GMT -4. The time now is 03:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy