Trapping the error during copy


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Trapping the error during copy
# 1  
Old 08-12-2016
Trapping the error during copy

I have a requirement:

During copy command for example:
Code:
cp -rf <sourceDir> <destinationDir>

this command may fails for many reasons like:
1. source or destination directory does not exist
2. destination directory does not have sufficient space
3. directories are not mounted
... Or may be any other reasons which are not in my head.

The problem is during scripting when we copy with -r (recursive option) then if any error occurs it got reported to the user recursively for all the files in the directory.

So if we use to dump these errors {I mean not to be shown to the user} we can very well do with:
Code:
2>/dev/null

But my problem is I want this error to be reported only once to the user, NOT repeatedly (i.e. not recursively n times)

Thanks in Advance.
Ambar


Moderator's Comments:
Mod Comment Start using code tags, thanks.
# 2  
Old 08-12-2016
You can catch the error code at the end with something like:
Code:
cp -rf <sourceDir> <destinationDir> 2> /dev/null
RC=$?

if [[ $RC -ne 0 ]]; then
     echo "Hey, something went wrong!"
fi

If you want the errors in some file to check them later, you just redirect STDERR to a file instead of /dev/null.

Last edited by zaxxon; 08-12-2016 at 04:07 AM..
# 3  
Old 08-12-2016
Thanks Zaxxon for the response.

Yes, we can trap the error and show the message to the user based on the return code.

But I wanted the message which can tell user why it is failed and only once. If we give error message to the user that "Something went wrong" that way user have no idea what went wrong.

Since the error message reported from OS have correct reason like :

Code:
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libclntshcore.so.12.1': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libhasgen12.so': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libnnz12.so': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libasmclntsh12.so': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libclntsh.so.12.1': No space left on device

but is repeated for all the rest of the files. I wanted the message like :
Code:
echo "Process Failed \n"
echo "Reason:"
echo "No space left on device"

# 4  
Old 08-12-2016
I added some "permission denied"... something like this?

Code:
$ cat infile
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libclntshcore.so.12.1': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libhasgen12.so': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libhasgen123456789.so': Permission denied
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libnnz12.so': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libasmclntsh12.so': No space left on device
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libasmclntsh123456789.so': Permission denied
cp: writing `/testX/file2016-08-11_07-03-10AM/ext/lib/libclntsh.so.12.1': No space left on device
$ awk -F "': " '{print $NF}' infile | sort -u
No space left on device
Permission denied


Last edited by zaxxon; 08-12-2016 at 05:17 AM.. Reason: typo
This User Gave Thanks to zaxxon For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Error Trapping

Hi, I have one shell script as below while read SegList do if test -s ${SourceFile_Path}/${Segment_List_Temp} then ls -r -1 ${FTP_Path}/${SegList}.DAT.${Datelist}.GZ|cut -d '.' -f2>>${SourceFile_Path}/${List_Temp} echo "IF above statment Fail I want to Create Emtpy File How to Trapp... (3 Replies)
Discussion started by: samadhanpatil
3 Replies

2. Shell Programming and Scripting

curl error trapping in ksh

I hope that I can trap curl errors, and have my shell script error out and quit if curl has any sort of problem. For example, I have the following command in my shell script: curl --trace -n -v --ftp-ssl ftp://xxx.xxx.xxx.xxx:2122 --user user:password -o /tmp/file.txt Works great, except... (2 Replies)
Discussion started by: prestonatwork
2 Replies

3. Shell Programming and Scripting

trapping error for a grep in for a loop

How can I trap and print "cannot find the pattern" when the grep is unable to find the specified pattern in the file using the for loop below ? Any help would be appreciated. bash3.4> cat test_file apple orange pineapple blackberry script: for x in `grep -n "mango" test_file... (4 Replies)
Discussion started by: jville
4 Replies

4. Shell Programming and Scripting

Searching and FTP error trapping

This is gonna sound dumb but... 1 It seems that I cannot use the search function here properly. In researching to find a solution to an FTP error trapping issue, I go to the search option in the forum and use FTP as a search term and ask it to select all forums to search in..... I get no... (2 Replies)
Discussion started by: Bartman
2 Replies

5. Shell Programming and Scripting

Error trapping in parent/child scripts

Greets all. I'm using Slackware 12.0 with the bash shell. Calling my scripts with /bin/sh... I'm building gnome-2.18.3 and I have all my build scripts ready and working but I'm calling them from a parent script which executes each child/build script in a certain order (for loop). I have "set... (6 Replies)
Discussion started by: madpenguin
6 Replies

6. Shell Programming and Scripting

rcp error trapping in rsh

I am writing a program which is something like below: rsh host1 "rcp file dest:directory" I am running this script from a machine host2. host1 has rlogin configuration for host2. but, dest machine has no rlogin configuration for host1 and fails on remote calls. Could anyone tell me how... (2 Replies)
Discussion started by: vvejendla
2 Replies

7. Shell Programming and Scripting

Error Trapping

Hi, Can anybody tell me how to error trap an empty line. If i am asked for a password and I hit enter without entering any text, how do i display an error? Thanks Kev (6 Replies)
Discussion started by: kev112
6 Replies

8. UNIX for Dummies Questions & Answers

ftp error trapping

I have written a UNIX script that will automatically ftp a file to a server. The problem is when I missed enter information w/in the .txt file that contains the userid/password and what file to transfer, I had no way of capturing the failuer of the file transfer. I verified w/in the script that the... (1 Reply)
Discussion started by: dhawkjrscripter
1 Replies

9. UNIX for Dummies Questions & Answers

ftp error trapping

Hi I'm hoping I could get some help on the following. I'm writing a script which will in turn create an ftp script then excecute it. eg echo "user $user $pass" > $script echo "cd $remote_dir" >> $script echo "bi" >> $script echo "mput $file" >> $script echo "bye" >> $script ftp -n -i $ip... (1 Reply)
Discussion started by: Bab00shka
1 Replies

10. Shell Programming and Scripting

sql error code trapping

Hello #!bin/ksh sqlplus -s system/manager < |grep '^ORA' |uniq select * from kk; set echo on show spool on end; / EOF save test.sh sh test.sh results ORA-00942: table or view does not exist (3 Replies)
Discussion started by: xiamin
3 Replies
Login or Register to Ask a Question