From owner-freebsd-questions@FreeBSD.ORG Wed Jul 18 03:22:08 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8801416A406 for ; Wed, 18 Jul 2007 03:22:08 +0000 (UTC) (envelope-from freebsd-questions@m.gmane.org) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by mx1.freebsd.org (Postfix) with ESMTP id 1681B13C4B4 for ; Wed, 18 Jul 2007 03:22:07 +0000 (UTC) (envelope-from freebsd-questions@m.gmane.org) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1IB070-0001Y2-9D for freebsd-questions@freebsd.org; Wed, 18 Jul 2007 05:22:02 +0200 Received: from 1-1-3-7a.rny.sth.bostream.se ([82.182.133.20]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 18 Jul 2007 05:22:02 +0200 Received: from fredrik by 1-1-3-7a.rny.sth.bostream.se with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 18 Jul 2007 05:22:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-questions@freebsd.org From: Fredrik Tolf Date: Wed, 18 Jul 2007 05:21:51 +0200 Lines: 58 Message-ID: References: <000f01c7c56d$da44d640$0200a8c0@satellite> <200707160427.l6G4Rb5q090225@banyan.cs.ait.ac.th> <469AFA30.4050504@u.washington.edu> <200707180233.l6I2XJrw097658@banyan.cs.ait.ac.th> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 1-1-3-7a.rny.sth.bostream.se User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) Cancel-Lock: sha1:tb9WfZGzwKWnIfXTicaDJYdw5Bo= Sender: news Subject: Re: cron job every 5 hours X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Jul 2007 03:22:08 -0000 Olivier Nicole writes: >> Something like: >> >> minute */5 * * * root path/to/scriptname >> >> will do the trick. >> >> Substitute the * in */5 for your desired start time (* being 0). >> >> -Garrett >> >> PS crond won't do 5 hours and every x number of minutes per job (5 hours >> + x mins from end to start), just a flat amount of time (5 hours apart >> from start to start). If you need that type of 'precision', at will >> solve that like Olivier said if you place it at the end of the command. > > I am afraid not. > > */5 means on every hours that is a multiple of 5, not every five > hours. So it will run every day at hour 0, 5, 10, 15 and 20. Between > hour 20 one day and hour 0 the next day there is only 4 hours, not > the "every 5 hours" requested. > > Just to confirm that I launched a cron job yesterday: > > 23 */5 * * * /home/java/on/crontest > > It ran at 15:23, 20:23 and today at 0:23 and 5:23 and so on: > > Date: Wed, 18 Jul 2007 05:23:00 +0700 (ICT) > From: Olivier Nicole > To: on@banyan.cs.ait.ac.th > Subject: test crontab 5 hours > X-Virus-Scanned: on CSIM by amavisd-milter (http://www.amavis.org/) > > This is a test for crontab > [...] > Only way to run a job every 5 hours is with at(1). I wouldn't go as far as saying the *only* way. You could make the cron job run every hour and then have an internal check in it (or using a wrapper script that checks it). Kind of like this, maybe? #!/bin/sh unset nogo if [ -r /tmp/lastrun ]; then now=`date +%H` if [ $((($now + 24 - `cat /tmp/lastrun`) % 24)) -lt 5 ]; then nogo=y fi fi if [ "$nogo" = y ]; then exit 0; fi date +%H >/tmp/lastrun # Do real work here