Also... running it from inittab will ensure that even if the process crashes it will run again next time, unlike if you use a self created lockfile.... P. Marko A. Jennings wrote: > On Tue, August 29, 2006 5:07 pm, Scott Silva wrote: > >> Johnny Hughes spake the following on 8/29/2006 1:02 PM: >> >>> On Tue, 2006-08-29 at 15:59 -0400, mike.redan at bell.ca wrote: >>> >>>> Maybe I am being dense here ... BUT ... >>>> >>>> Doesn't the "echo $$" only happen AFTER the else process is finished >>>> ??? >>>> >>>> if you make the "else" process be the rsync script, then it will not >>>> create $pidfile until after the rsync is done ... which does not help >>>> you. >>>> >>>> if you leave the else process as is and kick off the rsync after the >>>> echo $$ then it is not the same PID that you wrote to the $pidfile and >>>> you will start more than one rsync process ... as the PID that you >>>> wrote >>>> to $pidfile as the echo process ... that already finished ... or I am >>>> mistaken? >>>> >>>> >>>> The idea of it is to place that bit of code at or near the beginning of >>>> your script, then have the rsync process start after the "echo $$". >>>> That >>>> will put the PID of your script into that file, the rsync process will >>>> be started in the script, and the script would not end until the rsync >>>> one does..so you are fairly safe that two instances of your script will >>>> run at thte same time.. >>>> >>>> >>> OK ... I see. >>> >>> The rsync process is a second PID ... but the first PID is also still >>> open until after the script closes. >>> >> I tried the above, but was able to start multiple copies of the script. >> So I will have to see what is not catching the runs. >> The lockfile is there, but not stopping another execution of the script. >> >> > > I use the lockfile utility. Take a look at its man page, it is well > written. Here is how I use it (Bourne shell): > > # try to create the lock and check the outcome > lockfile -r 0 /var/run/myapp.lock 1>/dev/null 2>&1 > status=$? > > if [ ${status} -ne 0 ] ;then > echo "Another instance already running. Aborting." > exit 1 > fi > > # body of the script here > > # remove the lock at the end of the script > rm -f /var/run/myapp.lock > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos > > -- This message has been scanned for viruses and dangerous content by the Enhancion system Scanner and is believed to be clean. http://www.enhancion.net -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos/attachments/20060829/2bc756bf/attachment-0005.html>