Sponsored Content
Top Forums Shell Programming and Scripting How to get the exit code of -exec in the find command Post 302357181 by oku on Tuesday 29th of September 2009 03:30:43 AM
Old 09-29-2009
How to get the exit code of -exec in the find command

Hi

I have a little problem with the find command in a script that I'm writing. The script should check if there are some files younger than 100 seconds and then syncronise them with rsync.

My find command:

Code:
find -type f -cmin -100 -exec rsync -a --delete directory1/ directory2/

When I check the exit code with $? I always get 0 even if I can be sure the rsync should fail. How can I get the exit code of the rsync and the find?

I allready contacted the man page but it didn't really helped me much.

Quote:
Find man page:
Execute command; true if 0 status is returned.

Last edited by Neo; 09-29-2009 at 05:10 AM.. Reason: code tags for commands, please.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Where can I find a list of exit codes? (Exit code 64)

I'm receiving an exit code 64 in our batch scheduler (BMC product control-m) executing a PERL script on UX-HP. Can you tell me where I can find a list of exit codes and their meaning. I'm assuming the exit code is from the Unix operating system not PERL. (3 Replies)
Discussion started by: jkuchar747
3 Replies

2. UNIX for Dummies Questions & Answers

find command exec error

Hi All, i am writing a shell script in korn shell which deletes all the files in a directory once in every 10DAYS. the directory has different format files. the script has something like this; cd /home/data/pavi echo "Please Enter the Number of Days to search for" read DAYS... (2 Replies)
Discussion started by: pavan_test
2 Replies

3. UNIX for Advanced & Expert Users

Find command with prune and exec

Hi, I'm using the following command to get a list of files on the system. find /releases -type f -exec ls -l > /home/sebarry/list.txt '{}' \; however, its searching a directory I don't want it to search so I know I have to use prune but I don't seem to be able to get prune and exec to work... (1 Reply)
Discussion started by: Sebarry
1 Replies

4. Shell Programming and Scripting

find command with -exec

Hi People, I have a directory full of compressed files (.Z extention) In many of these files there is a string pattern (3800078163033) I want to find all file names which contain this string in their text. Regards, Abhishek (2 Replies)
Discussion started by: max29583
2 Replies

5. Shell Programming and Scripting

find command with -exec

Hi all, Please could someone help with the following command requirement. I basically need to find files NEWER than a given file and order the result on time. My attempt so far is as follows: find . -newer <file_name> -exec ls -lrt {} ;\ But I dont seem to get the right result... (12 Replies)
Discussion started by: jonnyd
12 Replies

6. UNIX for Dummies Questions & Answers

What does the '\' in find -exec command

Hi, I have two scripts that remove files. One works fine and is coded find -name "syst*" -mtime +1 -exec rm {} \; The other is almost the same - only thing missing is the '\'. On that script though I keep getting: rm syst1202.file ? etc Does the \ make that difference or is it a... (3 Replies)
Discussion started by: Grueben
3 Replies

7. UNIX for Dummies Questions & Answers

[Solved] weird in find -exec command

i feel weird with this 2 command find /tmp/*test* -user `whoami` -mtime +1 -type f -exec rm -f {}\; find /tmp/*test* -user `whoami` -mtime +1 -type f -exec ls -lrt {}\; the first one return correct which only delete those filename that consist *test* where second command it listed all the... (12 Replies)
Discussion started by: lsy
12 Replies

8. Shell Programming and Scripting

Find and move command with exec

Hi all, I am trying to find files newer than a given file and them mv them to a new location. So I far I have: find . ! -newer <file_name> -exec ls -l {} \; and find . ! -newer <file_name> -exec mv /TEMP_LOCATION {} \; find is not liking this. Anyone know how to modify the last... (2 Replies)
Discussion started by: jonnyd
2 Replies

9. Shell Programming and Scripting

Linux find command seems to not transmit all the result to the '-exec command'

Hello. From a script, a command for a test is use : find /home/user_install -maxdepth 1 -type f -newer /tmp/000_skel_file_deb ! -newer /tmp/000_skel_file_end -name '.bashrc' -o -name '.profile' -o -name '.gtkrc-2.0' -o -name '.i18n' -o -name '.inputrc' Tha command... (3 Replies)
Discussion started by: jcdole
3 Replies
TIMELIMIT(1)						    BSD General Commands Manual 					      TIMELIMIT(1)

NAME
timelimit -- effectively limit the absolute execution time of a process SYNOPSIS
timelimit [-pq] [-S killsig] [-s warnsig] [-T killtime] [-t warntime] command [arguments ...] DESCRIPTION
The timelimit utility executes a given command with the supplied arguments and terminates the spawned process after a given time with a given signal. If the process exits before the time limit has elapsed, timelimit will silently exit, too. Options: -p If the child process is terminated by a signal, timelimit propagates this condition, i.e. sends the same signal to itself. This allows the program executing timelimit to determine whether the child process was terminated by a signal or actually exited with an exit code larger than 128. -q Quiet operation - timelimit does not output diagnostic messages about signals sent to the child process. -S killsig Specify the number of the signal to be sent to the process killtime seconds after warntime has expired. Defaults to 9 (SIGKILL). -s warnsig Specify the number of the signal to be sent to the process warntime seconds after it has been started. Defaults to 15 (SIGTERM). -T killtime Specify the maximum execution time of the process before sending killsig after warnsig has been sent. Defaults to 120 seconds. -t warntime Specify the maximum execution time of the process in seconds before sending warnsig. Defaults to 3600 seconds. On systems that support the setitimer(2) system call, the warntime and killtime values may be specified in fractional seconds with microsec- ond precision. ENVIRONMENT
KILLSIG The killsig to use if the -S option was not specified. KILLTIME The killtime to use if the -T option was not specified. WARNSIG The warnsig to use if the -s option was not specified. WARNTIME The warntime to use if the -t option was not specified. EXIT STATUS
If the child process exits normally, the timelimit utility will pass its exit code on up. If the child process is terminated by a signal and the -p flag was not specified, the timelimit utility's exit status is 128 plus the signal number, similar to sh(1). If the -p flag was spec- ified, the timelimit utility will raise the signal itself so that its own parent process may in turn reliably distinguish between a signal and a larger than 128 exit code. In rare cases, the timelimit utility may encounter a system or user error; then, its exit status is one of the standard sysexits(3) values: EX_USAGE The command-line parameters and options were incorrectly specified. EX_SOFTWARE The timelimit utility itself received an unexpected signal while waiting for the child process to terminate. EX_OSERR The timelimit utility was unable to execute the child process, wait for it to terminate, or examine its exit status. EXAMPLES
The following examples are shown as given to the shell: timelimit -p /usr/local/bin/rsync rsync://some.host/dir /opt/mirror Run the rsync program to mirror a WWW or FTP site and kill it if it runs longer than 1 hour (that is 3600 seconds) with SIGTERM. If the rsync process does not exit after receiving the SIGTERM, timelimit issues a SIGKILL 120 seconds after the SIGTERM. If the rsync process is terminated by a signal, timelimit will itself raise this signal. tcpserver 0 8888 timelimit -t600 -T300 /opt/services/chat/stats Start a tcpserver(n) process listening on tcp port 8888; each client connection shall invoke an instance of an IRC statistics tool under /opt/services/chat and kill it after 600 seconds have elapsed. If the stats process is still running after the SIGTERM, it will be killed by a SIGKILL sent 300 seconds later. env WARNTIME=4.99 WARNSIG=1 KILLTIME=1.000001 timelimit sh stats.sh Start a shell script and kill it with a SIGHUP in a little under 5 seconds. If the shell gets stuck and does not respond to the SIGHUP, kill it with the default SIGKILL just a bit over a second afterwards. SEE ALSO
kill(1), rsync(1), signal(3), tcpserver(n) STANDARDS
No standards documentation was harmed in the process of creating timelimit. BUGS
Please report any bugs in timelimit to the author. AUTHOR
The timelimit utility was conceived and written by Peter Pentchev <roam@ringlet.net> with contributions and suggestions by Karsten W Rohrbach <karsten@rohrbach.de>, Teddy Hogeborn <teddy@fukt.bsnet.se>, and Tomasz Nowak <nowak2000@poczta.onet.pl>. BSD
September 29, 2010 BSD
All times are GMT -4. The time now is 11:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy