stderr stdout to a log file


 
Thread Tools Search this Thread
Top Forums Programming stderr stdout to a log file
# 1  
Old 11-12-2011
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 stdout and stderr to a file:

Code:
find /home/testuser -depth  | cpio -oavc | gzip > /media/backup_drive/test.cpio.gz 2> /media/backup_drive/inc$date.log


Here is the line in the script where I expect to see any error go to my errout.log

Code:
find /home/testuser -depth | cpio -oavc | gzip > /media/backup_drive/test.cpio.gz 2> /media/backup_drive/errout.log

in my errout.log its all garbage. I tried everything, stdout and stderr to a log file but the same gargage:

Code:
find /home/testuser -depth  | cpio -oavc | gzip > /media/backup_drive/test.cpio.gz 2>&1 >/media/backup_drive/errout.log

Code:
find /home/testuser -depth  | cpio -oavc | gzip > /media/backup_drive/test.cpio.gz  /media/backup_drive/errout.log 2>&1

Any ideas ???
# 2  
Old 11-12-2011
Which part of your pipeline is giving you the errors that you want trapped?

The way you have the pipeline written only gzip errors will be sent to the log file. If you want all errors, from any process in the pipe, written to the log try this:

Code:
(find /home/testuser -depth | cpio -oavc | gzip >/media/backup_drive/test.cpio.gz) 2>/media/backup_drive/errout.log

The pipeline is run in a sub-shell and the stderror from the subshell (all processes) will be sent to the log file.

If the errors you are trying to trap are just from gzip, then I'm not sure what is going on as your code looks ok from the brief scan I did.
# 3  
Old 11-12-2011
many thanks for the reply,

actually what I was trapping before was the output of find, so that in the log files, it would show what was being backed up such as directories and files. Here is an older log file when it worked using ksh:

Code:
/home/test/scripts/backups/test_include
/home/test/scripts/backups/elmo_exclude
/home/test/scripts/backups/include
/home/test/scripts/backups
/home/test/scripts
/home/test

Also if I have variables such as:

Code:
home=/home/testuser
search=find
archive=cpio -oavc
zip_it=gzip
backup_dir=/media/backup_drive

$search $home -depth | $archive -oavc | $zip_it >/media/backup_drive/test.cpio.gz 2>/media/backup_drive/errout.log

Is there any special brackets that should enclose the brackets? remember I am using the bacj shell

Code:
home=/home/testuser
search=find
archive=cpio -oavc
zip_it=gzip
backup_dir=/media/backup_drive

(($search $home -depth | $archive -oavc | $zip_it >/media/backup_drive/test.cpio.gz)) 2>/media/backup_drive/errout.log

I am a junior coder, please bare with me. thanks

---------- Post updated at 10:44 AM ---------- Previous update was at 10:18 AM ----------

it appears to have worked many thanks

Last edited by metallica1973; 11-12-2011 at 11:25 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. Shell Programming and Scripting

Prepend TimeStamp to STDERR & STDOUT to a file

Currently I am redirecting STDERR and STDOUT to a log file by doing the following { My KSH script contents } 2>&1 | $DEBUGLOG Problem is the STDERR & STDOUT do not have any date/time associated. I want this to be something that i can embed into a script opposed to an argument I use... (4 Replies)
Discussion started by: nitrobass24
4 Replies

4. Shell Programming and Scripting

redirect stdout and stderr to file wrong order problem with subshell

Hello I read a lot of post related to this topic, but nothing helped me. :mad: I'm running a ksh script with subshell what processing some ldap command. I need to check output for possible errors. #!/bin/ksh ... readinput < $QCHAT_INPUT |& while read -p line do echo $line ... (3 Replies)
Discussion started by: Osim
3 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

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

7. 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

8. 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

9. Shell Programming and Scripting

stderr & stdout to a file and the right exit code

Hi all, I need to redirect stdout and stderr to a file in a ksh shell. That's not a problem. But I need also the correct exit code for the executed command. In the example below I redirect correctly the stdout & stderr to a file, but I have the exit code of tee command and not for the mv... (2 Replies)
Discussion started by: up69
2 Replies

10. Shell Programming and Scripting

STDOUT and STDERR going to a system log

We are running HP UNIX 11.0, and a patch applied 6 months ago. Ever since the patch, any scripts that run as script_name 1>&2 will write all the output to our /etc/cmcluster/package_name/package_cntl.log which is owned by root (the permission of the log file is -rwxr----- root sys) Does... (1 Reply)
Discussion started by: longyie904
1 Replies
Login or Register to Ask a Question