delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/01/05/18:10:40

X-Spam-Check-By: sourceware.org
Message-ID: <BAY105-F366CFEADD04017B732A170E92E0@phx.gbl>
X-Sender: linq936 AT hotmail DOT com
In-Reply-To: <Pine.GSO.4.63.0601051723160.5388@slinky.cs.nyu.edu>
From: "lin q" <linq936 AT hotmail DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Help : can not get cron work
Date: Thu, 05 Jan 2006 16:10:31 -0700
Mime-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

>From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
>Reply-To: cygwin AT cygwin DOT com
>To: lin q <linq936 AT hotmail DOT com>
>CC: cygwin AT cygwin DOT com
>Subject: Re: Help : can not get cron work
>Date: Thu, 5 Jan 2006 17:32:17 -0500 (EST)
>
>On Thu, 5 Jan 2006, lin q wrote:
>
> > > Subject: Re: Help : can not get cron work
> > > Date: Thu, 5 Jan 2006 14:23:06 -0500 (EST)
> > >
> > > On Thu, 5 Jan 2006, lin q wrote:
> > >
> > > > > From: Brian Dessent <brian AT XXXXXXX DOT XXX>
> > > > > Reply-To: cygwin AT XXXXXX DOT XXX
> > > > > To: cygwin AT XXXXXX DOT XXX
> > >
> > > <http://cygwin.com/acronyms/#PCYMTNQREAIYR>.  Thanks.
> > >
> > > > > Subject: Re: Help : can not get cron work
> > > > > Date: Wed, 04 Jan 2006 18:00:46 -0800
> > > > >
> > > > > lin q wrote:
> > > > >
> > > > > >   1) "cygrunsrv -I cron -p /usr/sbin/cron -a –D"
> > > > >
> > > > > You should run /usr/bin/cron-config, and not try to do this by 
>hand
> > > > > because there is much more to do than just installing the service.
> > > > >
> > > > > >             16 10 * * * linq  rsync -azv emperor:/dev/tools/* 
>/cygdrive/c/bin/tools
> > > > >
> > > > > That is not the proper format of a user's crontab line.  There is 
>no
> > > > > such "username" field as the fifth field in a user's crontab, it
> > > > > should just be "16 10 * * * rsync ...".  It was trying to execute 
>a
> > > > > command named "linq" that does not exist, and there should be 
>errors
> > > > > to this effect in the Windows Event Log.  See "man 5 crontab".
> > >
> > > Yep, I missed that...
> > >
> > > > > Also realize that if you do not have system-wise mounts and Cygwin 
>in
> > > > > the PATH the above will not work.  This would have been evident if 
>you
> > > > > attached the cygcheck output as requested in
> > > > > <http://cygwin.com/problems.html>.
> > > >
> > > > OK, I re-installed cron using /usr/bin/cron-config and I corrected
> > > > crontab by removing that "linq".
> > > >
> > > > It still does not work.
> > > >
> > > > I tried a Hello Wold test with the following crontab line,
> > > >
> > > > * * * * * /bin/date > /tmp/date.out 2>&1
> > > >
> > > > It works fine.
> > >
> > > Good.
> > >
> > > > Now I come to suspect something of Cygwin setup. But I can not see
> > > > anything wrong in log file of cygcheck. I attach the file.
> > > >
> > > > One thing to note, when I run cygcheck, it exits with an error,
> > > > > cygcheck -svr > /tmp/cygcheck.log
> > > > cygcheck: dump_sysinfo: GetVolumeInformation() failed: 1231
> > > >
> > > > Is this a problem?
> > >
> > > Nope.  Error 1231 means "The network location cannot be reached.".  
>Must
> > > be a network drive.
> > >
> > > > Another thing, I checked the Windows event loger and I see some
> > > > "Information" on crontab, here is the dump out:
> > > >
> > > > The description for Event ID ( 0 ) in Source ( /usr/sbin/cron ) 
>cannot
> > > > be found. The local computer may not have the necessary registry
> > > > information or message DLL files to display messages from a remote
> > > > computer. You may be able to use the /AUXSOURCE= flag to retrieve 
>this
> > > > description; see Help and Support for details. The following 
>information
> > > > is part of the event:
> > >
> > > This is just junk that the Event Viewer adds when it doesn't know how 
>to
> > > parse the event data.  You can safely ignore it.
> > >
> > > > /usr/sbin/cron : PID 6064 : (linq) CMD (rsync -azv
> > > > emperor:/dev/swtools/* /cygdrive/c/bin/swtools).
> > >
> > > And this is just cron informing you exactly which job it was trying to
> > > run.
> > >
> > > > Do you understand what it is about?
> > >
> > > Looking at the cron job, there could be a few possibilities for 
>failure:
> > > cron doesn't find rsync; the wildcard gets expanded too early; rsync 
>has
> > > output that cron doesn't know where to send because you don't have an 
>smtp
> > > daemon running...  At least your mounts look ok.  Try eliminating the
> > > possibilities above by fixing your cron job...
> >
> > Thanks.
> >
> > I did some correction, now here is my crontab:
> >
> > > crontab -l
> > # DO NOT EDIT THIS FILE - edit the master and reinstall.
> > # (/tmp/crontab.4232 installed on Thu Jan  5 15:02:10 2006)
> > # (Cron version -- $Id: crontab.c,v 1.8 2004/12/21 16:14:41 corinna Exp 
>$)
> > * * * * * /usr/bin/rsync -azv emperor:/devl/swtools c:/bin/swtools
> >
> > Again I tested that the command, "/usr/bin/rsync -azv
> > emperor:/devl/swtools c:/bin/swtools" works fine if I type it on shell.
>
>Does it work from a SYSTEM-owned shell (search the archives for
>"sysbash")?
>
> > I still can not make it work.
> >
> > The last suggestion you give is about smtp daemon, I do not quite
> > understand.  Could you elabrate on that?
>
>Whenever a cron job writes anything to stdout/stderr, cron tries to email
>the output to the user whose crontab it's running.  If you don't have an
>smtp daemon running, the cron job will fail (IIRC).  Try redirecting the
>output to a file in a known location.  You can also try starting an smtp
>daemon (there are a couple in Cygwin, AFAIR), but redirection is so much
>easier.
>
Thanks, I tried that and this time I know what is going wrong.

The problem is rsync. Here is the logging of the error,

Could not create directory '/cygdrive/h/.ssh'.
Host key verification failed.
rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at 
/home/lapo/packaging/tmp/rsync-2.6.6/io.c(584)

This is really confusing. I can run the command manually, no problem. But in 
cron it does not work. From its error message, I see 2 problem, not sure if 
they are dependent,
1) can not create directory /cygdrive/h/.ssh.
That directory already exists and it holds the ssh files like 
authorized_keys2,  id_dsa, id_dsa.pub and known_hosts, why when running in 
cron, rsync tries to create it?

2) Host key verification failed.
But verification has no problem when I run in shell.

I wonder if I should set up some variable in crontab file?

I add "echo $LOGNAME > /tmp/file" and I can see that it is correct.

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019