Как запланировать задачи на Linux использующ `на' команде

[[by]] Sukrit Dhandhania на 4-ое мая 2009

Linux

Планировать работы будет необходимой частью administering серверы Linux. Мы взглянули на как запланировать работы на использовании машины Linux cron команда более раньше. Здесь алтернатива к cron - на. Главным образом разница между 2 что когда вы планируете задачу использующ cron оно исполните повторно без потребности для rescheduling. С на, с другой стороны, планировать задачи только для одиночного исполнения. Both of these команды имеют их пользу, и я предложил бы что вы получаете хорошее вникание их оба.

Препятствуйте нам посмотреть как запланировать задачу исполнить только раз использовать на команда. Во первых make sure что на демоне бежит использующ команду как это:

# пикосекунда - ef | grep atd
корень 8231 1 0 18:10? 00:00: 00 /usr/sbin/atd

Если вы не видите atd идущий старт оно с этой командой:

старт # /etc/init.d/atd

Как только демон был начат успешно вы можете запланировать на задача использующ 2 варианта - f, для архива, котор нужно исполнить, и - v, на время на котором оно должно быть исполнено. Так если вы хотите исполнить сценария заполнения shellscript.sh на 6:30 PM вы побежали бы following команда:

# на - f shellscript.sh - v 18:30

Вспомните то с на дайте команду на проведение сценария shellscript.sh исполнит на 6:30 PM и после этого планировать исчезнет. Так если это не, то вы желаете, вы более лучшие с использования cron.

на команда довольно ухищренна в что она может принять некоторые заказы на английском языке если вы любите. Например, вы можете запланировать работы использующ following синтаксис также:

# на - f shellscript.sh 10pm завтра

# на - f shellscript.sh 2:50 вторнике

# на - f shellscript.sh 6:00 11-ое июля

# на - f shellscript.sh 2:00 следующая неделя

Родственные столбы:
  • Увеличьте вашу урожайность Linux/Unix: Как использовать crontab
  • Dashboard Widget: План-график MLB
  • Как остановить ваш макинтош от wake up когда он будет должно спать
  • Как сохранить выход команды Linux к архиву
  • 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>