[GRLUG] crontab not running a working script

scott.tanner at comcast.net scott.tanner at comcast.net
Thu Jan 12 15:02:10 EST 2012


Can you add a troubleshooting commands to the cron job, such as: 

1 23 * * * env && /home/jtr/bin/syncmemotoo 

This will spit out some environment variables when the process runs, I'd be curious as to the PWD, PATH and LOGIN variables. 

Also, can you run the "syncevolution memotoo" command from anywhere on the system, or do you have to be in you're home dir? 



Regards, 
Scott 

----- Original Message ----- 
From: "John-Thomas Richards" <jtr at jrichards.org> 
To: "Mailing List for LUG in greater Grand Rapids, MI area." <grlug at grlug.org> 
Sent: Thursday, January 12, 2012 2:54:35 PM 
Subject: Re: [GRLUG] crontab not running a working script 

On Thu, Jan 12, 2012 at 12:26:45PM -0500, Bob Kline wrote: 
> On Thu, Jan 12, 2012 at 12:13 PM, John-Thomas Richards <jtr at jrichards.org>wrote: 
> 
> > On Thu, Jan 12, 2012 at 12:04:17PM -0500, Ben Rousch wrote: 
> > > On Thu, Jan 12, 2012 at 11:47 AM, John-Thomas Richards 
> > > <jtr at jrichards.org> wrote: 
> > > > I sync my box to memotoo.com's service. Works from the commandline 
> > with 
> > > > `syncevolution memotoo'. The password is in the config files so when I 
> > > > enter the above command, it syncs, then I'm back to a command prompt. 
> > I 
> > > > can take that command and put it in a simple bash script: 
> > > > 
> > > > #!/bin/bash 
> > > > syncevolution memotoo 
> > > > 
> > > > 
> > > > It works as expected; no further input is needed. However, when I put 
> > > > that script into my crontab, I get this error message: 
> > > > 
> > > > Enter password for memotoo: [ERROR] error code from 
> > > > SyncEvolution fatal error (local, status 10500): could not read 
> > > > password for memotoo 
> > > > 
> > > > Synchronization failed, see 
> > > > 
> > /home/jtr/.cache/syncevolution/memotoo-2012-01-12-11-38/syncevolution-log.html 
> > > > for details. 
> > > > 
> > > > The error log simply repeats that it could not read the password. 
> > > > 
> > > > My scripting skills are limited; am I missing something? If it works 
> > > > from a commandline should it not also work from cron? 
> > > 
> > > Cron uses different paths than a normal user. To avoid problems with 
> > > this you should specify the full path to all executables and files in 
> > > a cron job. You'll likely have to tell the program exactly where the 
> > > config file is located. 
> > 
> > Is this true even when the command in cron is a bash script? The line 
> > in crontab is: 
> > 
> > 1 23 * * * /home/jtr/bin/syncmemotoo 
> > 
> > It runs every night at 11:00PM. 
> 
> 
> But does your script need your environment? The absolute path gets 
> your script, but under what environment does cron run it? 
> 
> The crontab(1) points out that a user can have their own crontab file, 
> but seems a little vague about whether that implies anything about the 
> user's own environment. 

Very good question. I do not know the environment it runs under. I 
assume it's the user's environment since it's the user's crontab. 

> Can you direct any error messages when the command is run to yourself? 

Yes, as Mike said; it's in my local inbox. 
-- 
john-thomas 
------ 
The least initial deviation from the truth is multiplied later a 
thousandfold. 
Aristotle, philosopher (384-322 B.C.) 

-- 
This message has been scanned for viruses and 
dangerous content by MailScanner, and is 
believed to be clean. 

_______________________________________________ 
grlug mailing list 
grlug at grlug.org 
http://shinobu.grlug.org/cgi-bin/mailman/listinfo/grlug 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the grlug mailing list