PowerScale OneFS. Как редактировать crontab
Summary: Crontab - это утилита, используемая для планирования задач и автоматизации задач.
Instructions
Последовательность действий
Просмотрите файлы crontab.
Выполните соответствующую команду для просмотра файла crontab на уровне кластера или файла crontab локального узла.На уровне кластера:
cat /etc/crontabДля локального узла crontab:
cat /etc/local/crontab.local
TreeDeleteтем /etc/local/crontab.local Файл должен быть создан. Дополнительные сведения см. ниже.
OneFS создает файл
/etc/crontab . Пример записи crontab приведен ниже.
#minute hour mday month wday who command # # Nightly Health check update 0 1 * * * root /usr/bin/isi_healthcheck_update -s
В следующей таблице приведены заголовки столбцов.
|
имя заголовка |
допустимое значение |
разрешенные специальные символы |
|---|---|---|
|
minute |
0–59 |
* / , |
|
hour |
0–23 |
* / , |
|
mday |
день месяца, 1–31 |
* / , ? L W |
|
month |
1–12 |
* / , |
|
wday |
день недели (0–6, воскресенье = 0) |
* / , ? L W |
|
who |
группа разрешений, например root |
- |
|
. |
Команды, которые необходимо выполнить |
- |
В этой таблице приведены специальные символы.
|
специальный символ |
определение |
|---|---|
|
* |
Звездочки используются для обозначения совпадений выражения cron для всех значений поля. Таким образом, в поле month будет указан каждый месяц. |
|
/ |
Косые черты используются для описания приращений диапазонов. Например, значение «3‑59/15» в минутах указывает на третью минуту часа + повторение каждые 15 минут. |
|
% |
Знаки процента в командах преобразуются в символы новой строки. |
|
, |
Запятые используются для разделения элементов списка. Например, THU, FRI, SAT |
|
- |
Дефисы используются для определения диапазонов, например 200-205. |
|
L |
Означает «последний». Используется с полем «день недели» для создания таких конструкций, как «последняя пятница»: «5L». |
|
W |
Используется с полем «день месяца», чтобы указать рабочий день, ближайший к данному дню. Например, «14W» — это ближайший рабочий день к 14-му дню месяца. |
|
# |
Используется для поля дня недели и за ним следует число от 1 до 5 для указания конструкций, таких как второй понедельник данного месяца. |
|
? |
Используется вместо *, чтобы оставить поле дня месяца или недели пустым |
/etc/crontab даются инструкции о том, куда добавлять записи или вносить изменения для настройки. Переменная /etc/local/crontab.local file и /etc/mcp/override/crontab Файл создан пользователем, поэтому в нем нет инструкций.
Отредактируйте файлы crontab.
/etc/crontab файл НЕ должен редактироваться напрямую.
Добавление или изменение записей в этот файл должно быть выполнено в
/etc/mcp/override/crontab file для всего кластера и /etc/local/crontab.local для локального узла.
Crontab в файле
/etc/local/crontab.local не сохраняются после модернизации OneFS, однако записи в /etc/mcp/override/crontab сохраняются.
Если
/etc/local/crontab.local Файл не существует, используйте следующую команду для создания:
touch /etc/local/crontab.localАналогичным образом, если
/etc/mcp/override/crontab Файл не существует, используйте следующую команду для создания:
touch /etc/mcp/override/crontab
cp /etc/local/crontab.local /etc/local/crontab.local.backup
Запись можно добавить напрямую, выполнив следующую команду:
vi /etc/local/crontab.localИ аналогично:
vi /etc/mcp/override/crontabВставьте или введите необходимую запись, как показано в примере ниже:
Чтобы добавить
treedelete.sh для ежедневного запуска в 23:00:
0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Примечание. Пробелы между записями создаются с помощью клавиши табуляции. Звездочки указывают на то, что выражение cron совпадает со всеми значениями поля. В предыдущем примере это будет каждый день месяца, каждый месяц года, каждый день недели.
Использование isi_ropc в записях crontab
Добавление isi_ropc В crontab выполняется переданная команда не более одного раза для каждого кластера для каждой версии, независимо от того, на скольких узлах она запущена. Без флага это позволило бы выполнить команду на узле с самым низким DevID. В качестве альтернативы, добавив свойство -s flag выполнит команду на случайном узле. Пример записи приведен ниже:
# rotate log files on /ifs, too -- one node per cluster at a time
15,45 * * * * root isi_ropc newsyslog -f /etc/newsyslog.ifs.conf
Добавление нескольких записей в файл crontab.
Если для файла crontab требуется несколько записей из другого файла, добавьте запись задания. В этом примере, где path_to_file_with_entries Это файл, содержащий импортируемые записи:
cat /ifs/<path_to_file_with_entries> >> /etc/local/crontab.local
Проверить записи в crontab .
Убедитесь, что записи добавлены в файл crontab Файлы:
tail /etc/local/crontab.local
tail /etc/crontabОтобразится вывод, аналогичный следующему:
tail /etc/crontab # X: ---------------- # X: LOCAL # X: This section contains entries local to this node # X: only. This section is populated from the contents of # X: the file /etc/local/crontab.local if it exists. # X: ---------------- 0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh tail /etc/local/crontab.local 0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Отмените изменения в файле crontab:
Эти действия отменяют crontab.local в резервную копию, созданную в предыдущем разделе.
- Подключитесь по протоколу SSH на любом узле в кластере и войдите в систему с помощью учетной записи root .
- Выполните следующую команду, чтобы скопировать и переименовать исходную резервную копию
crontab.local.
cp /etc/local/crontab.local.backup /etc/local/crontab.local
Additional Information
До версии OneFS 9.5 /etc/mcp/override/crontab.smbtime использовалась для сохранения записей при модернизации.
С тех пор было установлено, что, начиная с OneFS 9.5 и более поздних версий, /etc/mcp/override/crontab вместо /etc/mcp/override/crontab.smbtime.