at voor als je denkt dat je "éénmalige cronjobs" wilt draaien door Joost van Baal-Ilić, juli 2012 Inleiding --------- Als je een job eenmalig en op een vaste tijd in de toekomst wilt laten draaien, dan kun je daarvoor at(1) gebruiken. Dat is handiger dan twee keer "crontab -e" te doen. Hier een korte introductie in het gebruik van at. We gebruiken de implementatie van Thomas Koenig, begonnen in 1993 en nu onderhouden door Ansgar Burchardt en Cyril Brulebois. Op vrijwel ieder unix-achtig systeem is een at-implementatie te vinden. Hoe gebruik je at(1) -------------------- Zo zet je een at-job in je at-queue: joostvb@matahari:~% echo 'uname -a; date; ls > /tmp/attest' | at now + 2 minutes warning: commands will be executed using /bin/sh job 1 at Fri Jul 6 13:21:00 2012 De tijd kan op heel veel verschillende manieren worden aangegeven: Om een job over 3 dagen om 4 uur 's middags te draaien, doe je echo 'check-intreg >/tmp/o' | at 4pm + 3 days en om een job om 10:00 op 31 juli te draaien, doe je echo 'uurrun >/tmp/u 2>&1' | at 10am Jul 31 en om een job om 1am morgen te draaien: echo getScriptingInputFiles | at 1am tomorrow , zie verder de manpage at(1). Je at-queue bekijk je zo: joostvb@matahari:~% atq 1 Fri Jul 6 13:21:00 2012 a joostvb Zo verwijder je een job uit je at-queue: joostvb@matahari:~% atrm 1 Mijn at-queue is nu leeg: joostvb@matahari:~% atq joostvb@matahari:~% Ik stel weer een at-job in: joostvb@matahari:~% echo 'uname -a; date; ls > /tmp/attest' | at now + 1 minutes warning: commands will be executed using /bin/sh job 3 at Fri Jul 6 13:22:00 2012 Na 1 minuut is mijn at queue leeg: joostvb@matahari:~% atq You have new mail. De at-job is uitgevoerd: joostvb@matahari:~% cat /var/spool/mail/joostvb From joostvb@matahari.uvt.nl Fri Jul 6 13:22:00 2012 Return-Path: X-Original-To: joostvb Delivered-To: joostvb@matahari.uvt.nl Received: by matahari.uvt.nl (Postfix, from userid 1007) id 45E57AB; Fri, 6 Jul 2012 13:22:00 +0200 (CEST) Subject: Output from your job 3 To: joostvb@matahari.uvt.nl Message-Id: <20120706112200.45E57AB@matahari.uvt.nl> Date: Fri, 6 Jul 2012 13:22:00 +0200 (CEST) From: joostvb@matahari.uvt.nl (Joost van Baal) Linux matahari 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux Fri Jul 6 13:22:00 CEST 2012 joostvb@matahari:~% ls -l /tmp/attest; cat /tmp/attest -rw-r--r-- 1 joostvb joostvb 15 Jul 6 13:22 /tmp/attest bfs bfs.tar.gz Auteursrechten -------------- Copyright © 2012 Joost van Baal-Ilić Dit document is vrij; verspreiding en gebruik, met of zonder wijzigingen, zijn toegestaan mits bovenstaande vermelding van auteursrecht, deze voorwaarde en de volgende vrijwaring van aansprakelijkheid behouden blijven. Dit werk wordt verspreid in de hoop dat het bruikbaar zal zijn, maar ZONDER ENIGE GARANTIE; zelfs zonder de garantie van GESCHIKTHEID VOOR EEN SPECIFIEK DOEL. Dit document wordt gepubliceerd op http://non-gnu.uvt.nl/pub/uvt-unix-doc/at.txt .