Следует ли при планировании заданий, запускаемых crontab, использовать ведущие нули для часа?

Скажем, вы сделали таблицу inode файлом; тогда следующий вопрос... где вы храните информацию об этом файле? Таким образом, вам понадобятся «настоящие» иноды и «расширенные» иноды, такие как таблица разделов MS -DOS. Учитывая, что вам понадобится только один (или, может быть, несколько — например, чтобы ваш журнал также был файлом ). Но на самом деле у вас были бы особые случаи, другой код. Любое повреждение этого файла также будет иметь катастрофические последствия. И учтите, что до ведения журнала это было обычным делом для файлов, которые записывались, например, когда отключалось питание, и они были сильно повреждены. Ваши операции с файлами должны быть намного более надежными, чем сбой питания/сбой/и т.д. чем они были, например, ext2.

Традиционные файловые системы Unix нашли более простое (и более надежное )решение :поместить блок inode (или группу блоков )через каждые X блоков. Затем вы находите их с помощью простой арифметики. Конечно, тогда невозможно добавить больше (без реструктуризации всей файловой системы ). И даже если вы потеряете/испортите блок инодов, в который вы записывали, когда отключилось питание, это потеря всего нескольких инодов — гораздо лучше, чем значительная часть файловой системы.

В более современных проектах используются такие вещи, как B -варианты дерева . Современные файловые системы, такие как btrfs, XFS и ZFS, не страдают от ограничений по индексам.

1
12.04.2020, 22:08
1 ответ

Если ваш cronпринимает нулевые -заполненные номера, вы можете использовать их.

Поскольку спецификация POSIX дляcrontabи руководство crontab(5)по всем системам, к которым у меня есть доступ, дают только примеры без нулевых -заполненных чисел (без фактического указания что-либо о форматировании чисел ), может быть благоразумным остаться с незаполненными -числами, если вы в какой-то момент окажетесь в системе, где нулевые -заполненные числа не принимаются.

4
19.03.2021, 02:29

Теги

Похожие вопросы