Моим фаворитом является FreeBSD. Ваш пробег может варьироваться.
Похоже, у вас не включена поддержка расширенных атрибутов в файловой системе. Возможно, вам потребуется включить его в ядре или смонтировать с параметром xattr. В системах redhat, похоже, вам не нужно явно устанавливать этот флаг, тем не менее, gentoo здесь может отличаться.
форматЯ неравнодушен к 1., так как это полностью IAW стандарт, но другие близки.
Примечание: Конечно, добавляйте секунды по мере необходимости. ... и да, с секундами (или даже минутами) или без них - это все IAW ISO 8601. :)
Я не включал бы часовой пояс, только использовать всемирное время. Если может быть беспорядок, Вы могли бы добавить - суффикс UTC. Если Вы указываете часовой пояс, кто-то может зависеть от него. И были бы странные пограничные случаи, где изменения DST или сдвиги DST наносят ущерб некоторой обработке, или обработка отличается в некоторых системах, потому что их конфигурация DST не актуальна. UTC всегда является тем же везде.
Я действительно думаю, что дефисы делают имя файла более читаемым, в том смысле, что оно помогает различить дату и время данных файла. Если Вы хотите включать подвторую точность, которая обычно является .nnnnn.
Мне лично не нравится T. Используя двоеточие в имени файла может влиять на совместимость с другими файловыми системами.
Я также не включал бы часовые пояса. Ваши сценарии/инструменты, которые обрабатывают журналы, должны знать об этом. Также в отношении летних/зимних изменений времени - я рекомендовал бы сохранить Ваш сервер всегда чинившимся в UTC все время. Внезапное различие между основным часовым поясом сервера и (неизменным) часовым поясом базы данных, работающей на нем, может привести к головным болям ;-).
Относительно именования файла журнала - я знаю, многим не нравится оно, но мне нравится сохранять его простым:
p-%s-type.log = p-1311116459-type.log
профессионалы:
недостатки:
На машинах, где коллеги (по любой причине) должны проверить журналы вручную, я пошел для этого варианта, вращаясь ежедневно:
p-%Y-%m-%d-type.log = p-2011-07-20-type.log
С уважением
Что бы это ни стоило, это формат, в котором работает утилита скриншотов.
scrot
использует по умолчанию для имени файла (т.е. когда имя файла не указано
указано):
%Y-%m-%d-%H%M%S_$wx$h_scrot.png
Части, использующие %
, являются стандартными спецификаторами формата strftime(3)
, $w
— ширина изображения, а $h
— высота изображения.
Пример:
$ scrot
$ find *.png
2020-03-07-152236_1920x1080_scrot.png
Для временных меток UTC:
$ TZ=UTC scrot
$ find *.png
2020-03-07-152236_1920x1080_scrot.png
2020-03-07-183257_1920x1080_scrot.png
Примечание: часовой пояс не указан в имени файла. Принимая во внимание предназначение инструмента (т.е. скриншоты), я не думаю, что это добавит любое значение. Кроме того, я нахожу приведенный выше формат достаточно простым как для чтения, так и для чтения. разобрать как есть.
if (!opt.output_file) {
opt.output_file = gib_estrdup("%Y-%m-%d-%H%M%S_$wx$h_scrot.png");
opt.thumb_file = gib_estrdup("%Y-%m-%d-%H%M%S_$wx$h_scrot-thumb.png");
} else {
have_extension = scrot_have_file_extension(opt.output_file);
}
Отсутствие разделителя между компонентами делает его похожим на случайные числа или просто на огромный счетчик.
Colon — это убийца, поскольку его нельзя использовать в системах Windows (и, следовательно, нельзя использовать на смонтированном общем ресурсе SMB, который иногда является единственным доступным сетевым протоколом), и он имеет неожиданные побочные эффекты в macOS, несмотря на то, что это система UNIX: файловая система отлично подходит для двоеточия, но Finder отображает его как косую черту (/
) — это имеет исторические причины (историческое двоеточие использовалось в качестве разделителя компонентов пути на Mac и, таким образом, чтобы все пути выглядели одинаково в macOS система сопоставит двоеточие с косой чертой; хороший побочный эффект, вы можете использовать косую черту в именах файлов, так как они отображаются на двоеточия).
Все тире также сбивают с толку.
Для времени вы можете использовать подчеркивание, точку, запятую или процент (все файловые системы разрешают проценты, и это не имеет значения в bash/sh/zsh само по себе, это уродливо только в URL-адресах, поскольку требует экранирования). Ни один из них не требует экранирования в оболочке. Или вы можете использовать точку с запятой, которая ближе всего к двоеточию, но требует экранирования в оболочке.
И соглашение, которому почти все следуют, звучит так: «Если часовой пояс не указан, это UTC», и, как правило, сохранение всех времен всегда в формате UTC упрощает работу с ними. При необходимости их всегда можно преобразовать в локальные метки времени.