X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Message-ID: <46EF3A50.70207@cygwin.com>
Date: Mon, 17 Sep 2007 22:39:12 -0400
From: "Larry Hall (Cygwin)" <reply-to-list-only-lh@cygwin.com>
Reply-To: cygwin@cygwin.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070505 Remi/2.0.0.0-3.fc4.remi Thunderbird/2.0.0.0 Mnenhy/0.7.5.0
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: find command in script getting access denied in my crontab but   works when I run it manually
References: <12748796.post@talk.nabble.com>
In-Reply-To: <12748796.post@talk.nabble.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On 09/17/2007, kuliksco wrote:
> Anyone have any idea why the find isn't working properly when in the 
> crontab? I dont actually think it's a permission denied issue but something 
> with the parsing possible (since I made sure i have full access to all the 
> files and the script works from the command line). maybe it's something 
> with the environment variables. thanks in advance for any ideas.

The problem is that you're assuming that the environment you have when you
run interactively is the same environment you have when you run the script
through 'cron'.  That is not true.  If you require a particular environment
for a script to run, you need to include those settings in your crontab.
This is standard operating procedure for 'cron'.  It is not Cygwin specific.
See cron/crontab documentation for more information.

Actually, both your scripts suffer from the problem I mentioned above.  You
just have better luck with the first because:

   1. You apparently do have Cygwin's bin directory in your system-wide
      Windows path.
   2. There is no like-named Windows utility.

(2) does not hold true for 'find'.  You should either define the same
path as you use for your user environment in your crontab or fully
qualify the path to the utilities you want (i.e. '/bin/find' and '/bin/ln').
I'd also highly recommend using POSIX-style paths (i.e. '/cygdrive/f') over
DOS-like paths (i.e. 'f:/').  You'll have less troubles in general.

-- 
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
216 Dalton Rd.                          (508) 893-9889 - FAX
Holliston, MA 01746

_____________________________________________________________________

A: Yes.
 > Q: Are you sure?
 >> A: Because it reverses the logical flow of conversation.
 >>> Q: Why is top posting annoying in email?

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

