Jeg må hellere få skrevet det ned, for hvergang jeg lander på et windows system, i forbindelse med f.eks et database setup ender jeg altid med at skulle google efter hvordan jeg kan sætte en automatisk job op som crontab på unix.

I dette havde jeg installeret en Oracle 11 på en T61 laptop, til brug for mit eget interne system til registrering af daglige backups, tid forbrugt til, og så alt det jeg plejer at glemme; maskiner, systemer osv.

Crontab på windows hedder AT. Selve servicen skal naturligvis køre før det virker. Du kan starte services ved (Start -> Kør -> Services.msc) og led efter (hvis du kører dansk) Opgavestyring eller engelsk Task Scheduler for at starte/stoppe servicen. Alternativt kan også gøre det fra en kommndolinie;

net stop "Task Scheduler"
net start "Task Scheduler"

Når servicen kører er det bare at få sat, i mit tilfælde, gang i en daglig backup. Jeg vil have bakupen til at køre mandag til torsdag (de dage jeg arbejder) klokken 10:00.

C:> at 10:00 /every:m,t,o,to "c:/oracle/scripts/export.bat"

Selve export.bat laver en export og skriver til en fil (jeg har valgt at klistre en dato på navnet) men det er jo smag og behag.

@ECHO off
set yymmdd=%date%
exp brugernavn/kodeord file=c:/oracle/backup/skemabackup_%yymmdd%.dmp

Hernæst har jeg lavet jobbet remove_old_files der sletter backups ældre end 10 dage.

C:> at 10:15 /every:m,t,o,to "c:/oracle/scripts/remove_old_files.bat"

remove_old_files.bat ser ud som følger;

FORFILES -pC:Oracleackup -s -m*.* -d-10 -c"CMD /C DEL @FILE 

FORFILES kan hentes fra Microsoft her.

C:/Oracle/scripts>at

Status-id   Dag                     Tidspunkt     Kommandolinje
-------------------------------------------------------------------------------
        1   Hver M T O To           10:00         c:/oracle/scripts/export.bat
        2   Hver M T O To           10:15         c:/oracle/scripts/remove_old_files.bat