[linux] Re: If updated today - test

Paul Slootman paul+nospam op wurtel.net
Wo Apr 18 15:50:30 CEST 2007


On Wed 18 Apr 2007, Peter Vollebregt wrote:
> 
> Vraag: Ik wil een bash scriptje hebben dat een bepaald programma gaat
> draaien als de outputfile vandaag nog niet bijgewerkt is.
> 
> Wat ik kan bedenken, als scripting-noob, is dat ik met mtime kan vragen
> of het vandaag bijgewerkt is. Het onderstaande commando geeft aan dat de
> file in de betreffende directory is bijgewerkt:
> find ~/.xmltv  -mtime -1
> 
> Als er iets gevonden wordt kan het update programma wat mij betreft
> draaien. Nu heb k het geprobeerd via && (als de eerste expressie waar is
> draai dan de tweede) als in:
> find ~/.xmltv  -mtime -1 && programma

Dit is al in tegenspraak tot wat je eerder zegt: script draaien als de
file NIET minder dan 1 dag oud is. Alleen als er niks gevonden is,
zou het update programma moeten draaien, toch?

Probeer het eens zo:

if [ "`find ~/.xmltv  -mtime -1`" = "" ]; then programma; fi

-daystart kan bij de find ook wel zinvol zijn.


> PS: Ter informatie. Het achterliggende probleem is dat ik dit programma
> liever via een cron of bij het booten van de computer wil draaien, maar
> wat ik ook probeer - het wil niet lukken totdat ik als user ben ingelogd.

Uit mijn crontab(5) manpage:

    Instead of the first five fields, one of eight special strings may
    appear:

        string         meaning
        ------         -------
        @reboot        Run once, at startup.
        ...


Paul Slootman



More information about the Linux mailing list