PowerScale OneFS: редактирование файла crontab
Resumen: Crontab - это утилита, используемая для планирования задач и автоматизации задач.
Instrucciones
Процедура
Просмотрите crontab Файлы:
Выполните соответствующую команду, чтобы просмотреть c в масштабе кластера (включая дополнения из локального узла) crontab Файл.
На уровне кластера:
cat /etc/crontab
Только для локального узла crontab Дополнительные записи (которые добавляются в /etc/crontab Только на определенном узле):
cat /etc/local/crontab.local
cron вакансии, которые подходят для такой работы, как TreeDelete, /etc/local/crontab.local Файл должен быть создан. Дополнительные сведения см. в документе DSA-2024-034.
OneFS создает файл /etc/crontab файл, объединив шаблон по умолчанию, /etc/mcp/override/crontab и /etc/local/crontab.local. Пример записи 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В этой таблице приведены специальные символы.
|
Специальный символ |
Определение |
|---|---|
|
|
Звездочки используются для обозначения |
|
|
Косые черты используются для описания приращений диапазонов. Например: |
|
|
Знаки процента будут заменены символами новой строки в командах. |
|
|
Запятые используются для разделения элементов списка. Например: THU, FRI, SAT. |
|
|
Дефисы используются для определения диапазонов, например «200-205». |
|
|
Означает «последний». Используется с полем «день недели» для создания таких конструкций, как «последняя пятница»: «5L». |
|
|
Используется с полем «день месяца», чтобы указать рабочий день, ближайший к данному дню. Например, «14W» — это ближайший рабочий день к 14-му дню месяца. |
|
|
Используется для поля «день недели», за которым следует число от 1 до 5, для создания таких конструкций, как, например, второй понедельник данного месяца. |
|
|
Используется вместо звездочки (*) для того, чтобы оставить поле «день месяца» или «день недели» пустым. |
/etc/crontab даются инструкции о том, куда добавлять записи или вносить изменения для настройки. В строке /etc/local/crontab.local и папка R /etc/mcp/override/crontab Файл изначально создается пользователем, поэтому он не содержит инструкций.
Редактирование файлов crontab.
По возможности следует использовать клиент и API для выполнения запланированных заданий в кластере. Прямое добавление crontab Записи следует вводить в крайнем случае, чтобы они не вызывали сбоев, нестабильности и иным образом не влияли на работу кластера.
Если есть необходимость в кастомном cronjobs, сначала обсудите создание запроса функции с вашей командой по работе с заказчиками.
/etc/crontab файл НЕ должен редактироваться напрямую.
Добавление или изменение записей в этот файл должно быть выполнено в
/etc/mcp/override/crontab file для всего кластера и /etc/local/crontab.local для локального узла.
Записи Crontab в
/etc/mcp/override/crontab file (в масштабе кластера) и /etc/local/crontab.local сохраняются при обновлениях.
Если /etc/local/crontab.local Файл не существует, используйте следующую команду для создания:
touch /etc/local/crontab.local
Аналогичным образом, если /etc/mcp/override/crontab Файл не существует, используйте следующую команду для создания:
touch /etc/mcp/override/crontab
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
При использовании команды isi_ropc in crontab Начальный
Добавлено isi_ropc в crontab Entry выполняет переданную команду не более одного раза для кластера для каждой версии, независимо от того, на скольких узлах она запущена. Без флага команда могла бы выполняться на узле с самым низким 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 .
В нижней части выходных данных отображается вывод, аналогичный следующему:
tail -n 50 /etc/crontab # X: ---------------- # X: OVERRIDE# X: This section contains user changes which will be # X: preserved between product versions. It is # X: populated from the contents of the file # X: /etc/mcp/override/crontab # X: ---------------- # 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
Отменить изменения в crontab .
Эти действия отменяют crontab.local в резервную копию, созданную в предыдущем разделе.
- Откройте
SSHУстановите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root. - Выполните следующую команду, чтобы скопировать и переименовать исходную резервную копию
crontab.local.
cp /etc/local/crontab.local.backup /etc/local/crontab.local
Información adicional
До версии OneFS 9.5 /etc/mcp/override/crontab.smbtime использовалась для сохранения записей при модернизации. С тех пор было определено, что, начиная с OneFS 9.5, используйте /etc/mcp/override/crontab Вместо /etc/mcp/override/crontab.smbtime.