Date: Sun, 24 Nov 2002 23:53:51 +0100 From: Len Conrad <LConrad@Go2France.com> To: freebsd-questions@freebsd.org Subject: Re: .sh interactive ok, from crontab, not Message-ID: <5.1.1.6.2.20021124234729.02d7a030@mail.go2france.com> In-Reply-To: <BA06817A.14AF9%pscott@skycoast.us> References: <5.1.1.6.2.20021124194251.02c390c0@mail.go2france.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> > if ( ps aux | grep -i "^root.*master" ) > /dev/null > > then > > echo "then: exit code equal 0" > > exit 0 > > else > > <try to run the daemon> > > > > ... when run from the command line, the echo text displays. But, when run > > from crontab every 10 minutes, the if fails, and the else clause runs. > > > > I've tried every syntax I know, but still can't get this logic to work. > >It works for me, and I suspect that it's working for you, too. well, it's really not. The crontab execution is trying to run the daemon even when the daemon shows up in "ps aux". > However, you >may not see the results expected if you are piping the cron output through >sendmail I'm not, and anyway the echo is after the IF condition "fails". >Also, make sure that you're running the expected shell. Check the SHELL= >line in crontab, or force the script to run via the expected shell by >running 'sh script' instead of just 'script', or tell the script what shell >to run by adding something like the following on the first line: > >#!/bin/sh already there, and /etc/crontab also contains SHELL=/bin/sh >Although this isn't related to your problem , you might find it simpler to >use the -q option on grep instead of redirecting the output. For example, > >if ( ps -aux | grep -q -i "^root.*master" ); then > >instead of, ok. thanks Len To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5.1.1.6.2.20021124234729.02d7a030>