Alright... I've made some modifications to sync_users, and this new
version will be checked into OSCAR after we've released OSCAR 3.0 (very
very soon).  I added support to not modify the crontab file (so that
manual changes can be made).  I fixed the crontab update routine to not
modify/rewrite the crontab file unless there are changes.

Jason

On Tue, 2003-11-04 at 17:15, Frank Crawford wrote:
> On Wed, 2003-11-05 at 09:54, Jason Brechin wrote:
> > On Tue, 2003-11-04 at 16:42, Frank Crawford wrote:
> > > Jason,
> > >   That is the output mailed to me from the run out of crontab when I took
> > > off the redirect to /dev/null.  When I run it as root, outside of cron,
> > > it works fine.  This is all for the version of sync_users in OSCAR 2.3
> > > (sync_users-oscar-1.5-5).
> > 
> > I'm willing to guess that it's due to c3 not handling the
> > non-interactive shell properly... 
> 
> That's kind of the problem.  Who's problem is it, opium (probably not
> really, it is just affected), c3 (yes, but they are assuming something
> about cron that works elsewhere) or crontab (ummm ...).
> 
> > > > sync_users will check to see if it needs to change crontab, it does not
> > > > change it every time (IIRC).  It will change it to what is in the config
> > > > file.  If you want to change its run interval, change sync_users.conf,
> > > > not /etc/crontab.
> > > 
> > > No, it rewrites it every time.  This is the crontab update routine in
> > > the sync_users I've installed, which is always called as the last step
> > > in sync_users:
> > 
> > Alright... you got me there... it does rewrite it every time.  I haven't
> > looked at the code for quite a while.
> > 
> > > You can see that every time it rewrites crontab, even if it is only with
> > > what was previously there.  Worse, if you change the sync_users line, it
> > > puts it back to what it believes is the "correct one".
> > 
> > This is intentional, since sync_users expects that it is managing the
> > cron line.  I suppose I could add an option to prevent cron updates or
> > something, but that seems counter-productive.  If you need to change the
> > crontab line you can always edit sync_users and sync_users.conf
> 
> All I'd really see to do here is not to rewrite the file if there is no
> change.  The rewrite also causes cron to reload the file, adding a (very
> small) extra overhead in everything.  It also does open a small window
> where /etc/crontab could be corrupted, every 15 mins, when it isn't
> needed.
> 
> However, the only change available in sync_users.conf is to change the
> timing.  I wanted to remove the redirection, or following this, add a
> variable to set USER=$LOGNAME for the sync_users in /etc/crontab.  The
> only place I can find the string defined is in sync_users itself.
> 
> Is there some configuration option that allows me to change the full
> line from sync_users.conf?  What I wanted is to enter:
> 
> */15 * * * * root USER=$LOGNAME /opt/opium/bin/sync_users >/dev/null
> 2>&1
> 
> which, I think, is a valid workaround for the original problem.  But I
> can't do this without changing sync_user, and as a bit of a purist (or
> just being pedantic) I'd prefer not to do.
> 
> > Jason
> 
> Frank



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Oscar-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/oscar-users

Reply via email to