Innholdsfortegnelse

Running commands at a specified time in the future

English

…to be written.

Norsk

I unix er det mulig å få en kommando til å bli kjørt automatisk på et gitt tidspunkt. Dette kan f.eks brukes hvis du skal sperre tilgang til løsningsforslagene på en webside (og du er bortreist den datoen du vil sperringen skal skje).

I dette eksempelet viser vi hvordan du får kjørt kommandoen chmod klokka 15:45 den 31. desember 2007:

1. Gå til katalogen der du vil kjøre kommandoen:

cd /global/www/webroot/emner/TMA1234/2006h

2. Istedetfor å kjøre selve kommandoen, kjører du

at -t 200712311545

(200712311545 betyr at den vil bli kjørt kl. 15:45 den 31/12 2007)

3. Nå endrer kommandolinja navn fra abel:/global/… til “at>”. Her skriver du inn kommandoene du vil kjøre. (Vær obs på at det ikke fungerer å f.eks trykke TAB for å komplettere filnavn, hvis du er vant til å gjøre det til vanlig). Når du har skrevet inn alle linjene avslutter du ved å trykke Control-D.

4. at-programmet skriver ut en kort beskjed om når kommandoen vil bli kjørt. Du kan bruke at -l for å se hvilke framtidige jobber du har lagt inn, og atrm JOBBNUMMER for å slette en som ble lagt inn ved en feiltagelse.

Eksempel

abel:~$ cd /global/www/webroot/emner/TMA9999/2006h/
abel:/global/www/webroot/emner/TMA9999/2006h$ at -t 200801010000
at> chmod -R og= lf
at> <EOT>
commands will be executed using /bin/bash
job 1199142000.a at Tue Jan  1 00:00:00 2008

(Her har vi skrevet inn én linje, chmod -R og= lf, og trykket Control-D. <EOT> ble skrevet til skjermen idet man trykker Control-D).

For å liste ut hvilke jobber som ligger inne, fjerne den vi la inn, og sjekke at den er fjernet (ved å liste ut på ny, og sjekke at lista er tom), gjør vi slik:

abel:/global/www/webroot/emner/TMA9999/2006h$ at -l
1199142000.a    Tue Jan  1 00:00:00 2008
abel:/global/www/webroot/emner/TMA9999/2006h$ atrm 1199142000.a
1199142000.a: removed
abel:/global/www/webroot/emner/TMA9999/2006h$ at -l
abel:/global/www/webroot/emner/TMA9999/2006h$

Den siste “at -l” gir ingen output, og det viser at vi ikke har noen framtidige kommandoer som er lagt inn.