Hur man schedule uppgifter på Linux som använder `en på', befalla

vid Sukrit Dhandhania Maj 4, 2009

Linux

Schedulingjobb är en nödvändig del av att administrera Linux serveror. Vi tog en look på hur man schedule jobb på Linux bearbetar med maskin att använda cron befalla tidigare. Här är ett alternativ till cron - . Den primära skillnaden mellan tvåna är att, när du schedule en uppgift genom att använda cron det, utför upprepade gånger utan behovet för att rescheduling. Med , å ena sidan, är schedulingen av en uppgift endast för ett singelutförande. Båda av dessa befaller har deras bruk, och jag skulle föreslår att du får en bra överenskommelse av dem båda.

Låt oss se hur man schedule en uppgift att utföra endast en gång att använda befalla. Se till först att på demonen är spring genom att använda en befallanågot liknande detta:

nr. ef ps - | grep atd
rota 8231 1 0 18:10? 00:00: 00 /usr/sbin/atd

Om du inte ser atd rinnande start som den med denna befaller:

nr. /etc/init.d/atd start

När demonen har startats lyckat, kan du schedule uppgift genom att använda de två alternativen - f, för spara som ska utförs, och - v, för tiden som den bör utföras på. , om så du önskar att utföra beskjuta, skriva shellscript.sh på 6:30 PM skulle du körning efter befalla:

nr. på - f shellscript.sh - v 18:30

Minns det med befalla skriva shellscript.sh ska utför på 6:30 PM, och därefter försvinner den ska schedulingen. Så, om detta inte är vad du lust, dig är bättre av att använda cron.

befalla är nätt klyftigt däri det kan ta något beställer på engelskt, om du gillar. Till exempel kan du schedule jobb genom att använda efter syntaxen som väl:

nr. på - f shellscript.sh 10pm i morgon

nr. på - f shellscript.sh 2:50 tuesday

nr. på - f shellscript.sh 6:00 juli 11

nr. på - f shellscript.sh 2:00 nästa vecka

Släkt postar:
  • Förhöjning din Linux/Unixproduktivitet: Hur man använder crontab
  • Instrumentbrädamanick: MLB-schema
  • Hur man stoppar din Mac från att vakna upp, när den bör sova
  • Hur till räddningsom tillverkas av en Linux befalla till en spara,
  • How to post to Twitter from the Linux command line
  • Get Simple Help tutorials just like this one in your email inbox every day - for free! Just enter your email address below:

    You can always opt out of this email subscription at any time.

    { 2 comments… read them below or add one }

    1 MikeT 05.04.09 at 5:26 am

    If you don’t see atd running start it with this command:

    # /etc/init.d/atd start

    More correctly, if it isn’t running, it probably is not configured to startup when the system is restarted. Which may also keep the above command from working as expected. To correct this, use:

    # chkconfig atd --level 234 on
    # service atd start

    and check again to make sure it is running, if it is, continue with the instructions (which are very good BTW).

    2 MikeT 05.04.09 at 5:32 am

    I have another followup for you on use of the at command.

    I’ve run into situations where I’ve needed a command run every hour BUT I needed the command to run ONLY if the previous run has completed. It might not be hung but it might be very very busy. I don’t mind skipping an hour’s execution if the process is still busy.

    When this situation arises, I don’t use cron, I use ‘at’ and the last thing I put in my script is the at command itself to resubmit the job for execution.

    Now, even if the job takes three hours, at the top of the following hour, the at command will launch the job as expected without cron jobs bumping into each other.

    Yes, there’s ways to put the logic into a script for cron to deal with it but that can also be difficult to maintain and not as obvious (to some) as this approach.

    Leave a Comment

    You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>