#(davecron installed on Tue May 4 13:07:43 1999)

#вывод текущей даты на экран

#каждые 15 минут между 18:00 и 6:00

0,15,30,45 18-06 * * * /bin/echo "date" > /dev/console

#удаление файлов дампа в 3.30 утра в 1–й, 7–й, 14–й,

#21–й и 26–й день каждого месяца

30 3 1,7,14,21,26 * * /bin/find -name "core" — exec rm {} \;

<p><emphasis><strong>3.1.7. Удаление crontab–файла</strong></emphasis></p>

Для удаления своего crontab–файла введите команду $ crontab -r

<p><emphasis><strong>3.1.8. Восстановление утерянного crontab–файла</strong></emphasis></p>

Если crontab–файл случайно удален, инсталлируйте заново исходный файл из вашего начального каталога:

$ crontab <имя_файла>

Именно по этой причине в документации к программе cron говорится о том, что не рекомендуется прибегать к непосредственному редактированию crontab–файла. Следует вносить все изменения в копию файла и инсталлировать ее заново.

<p><strong>3.2. Команда at</strong></p>

Команда at позволяет передавать задания демону cron для одноразового выполнения в назначенное время. Выдавая задание, команда at сохраняет в отдельном файле как его текст, так и все текущие переменные среды. Заметим, что команда crontab не делает этого. По умолчанию все результаты выполнения задания направляются пользователю в виде электронного сообщения.

Как и в случае с программой cron, пользователь root может контролировать, кому разрешено или запрещено выполнять команду at. Соответствующие списки пользователей содержатся в файлах at.allow и at.deny, находящихся в каталоге /etc.

Базовый формат команды at таков:

at [-f файл] [-l -d -m] время

ОпцияНазначение
-f файлСписок заданий должен быть взят из указанного файла
-lВывод на экран списка заданий, которые ожидают выполнения; аналогична команде atq
-dУдаление задания с указанным номером; аналогична команде atrm (в некоторых системах заменяется опцией -r)
-mВыдача пользователю электронного сообщения о завершении задания
времяСпецификация времени, когда будет выполнено задание. Эта спецификация может быть довольно сложной. Допускается указание не только времени в формате часы: минуты, но и даты, а также многочисленных ключевых слов, таких как названия дней недели, месяцы, наречий today (сегодня), tomorrow (завтра), now (сейчас) и др. Наиболее удобна запись вида now + 3 hours (через три часа).
<p><emphasis><strong>3.2.1. Запуск команд и сценариев с помощью команды at</strong></emphasis></p>

Текст задания можно передать команде at двумя способами: в файле или в режиме командной строки at. Если задание состоит из одной команды или двух — трех команд, объединенных каналом, то удобнее воспользоваться вторым способом. Для запуска сценариев интерпретатора shell предпочтительнее первый вариант.

В случае необходимости выполнить одиночную команду вызовите команду at, указав требуемое время. Отобразится приглашение at>. Введите свою команду, а затем нажмите [Enter] и [Ctrl+D]. Рассмотрим пример.

$ at 21:10

at> find / -name "passwd" — print

at>

warning: commands will be executed using /bin/sh job 1 at 1999-05-05 21:10

Запись <ЕОТ> появляется после нажатия [Ctrl+D]. Теперь в 21:10 будет выполнена команда find, ищущая в системе файлы с именем passwd. Обратите внимание на то, что команда at присваивает заданию уникальный идентификатор 1. Результаты выполнения команды find будут направлены вам по электронной почте. Вот фрагмент соответствующего электронного сообщения:

Subject: Output from your job 1

/etc/passwd

/etс/pam.d/passwd

/etc/uucp/passwd

/tmp/passwd

/root/passwd

/usr/bin/passwd

/usr/doc/uucp-1.06.1/sample/passwd

Ниже приведены примеры корректного указания времени при вызове команды at:

at 6.45am May 12 — 12–го мая в 6:45 утра

at 11.10pm — в 23:10 (сегодня или завтра, если

Перейти на страницу:

Похожие книги