почему мы должны использовать, создают и copytruncate вместе?

ОБНОВИТЕ, Если Вы хотите интерпретировать шестнадцатеричные значения как Windows-1252 и представьте их в кодировании своей текущей локали (обычно, UTF-8 для *отклоняют), можно использовать следующую команду.Примечание. Это кроме новых строк (\n) для каждой входной строки, этот отрывок берет в качестве входа только данные в форме \x33\x66\x99\xBB\xFF... что-либо еще вызывает ошибку.

<file sed -re 's|(.)\\x|\1,0x|g; s|^\\x|0x|; $!{s|$|,0x0a|}' |
 tr '\n' ',' | recode Windows-1252/x1..UTF-8 

Отсюда на, мой исходный ответ (который не рассматривает различную кодировку),

Можно использовать xxd в возвращаются (-r) постскриптум (-p) режим. xxd часть vi пакет.
Примечание. Данные тестирования содержат преобразованный в шестнадцатеричную систему \n (\x0a) символы.
xxd игнорирует любые реальные \n символы, таким образом, Вы разделяете шестнадцатеричные данные по как много строк, Вы желаете (как в тестовом файле).

xxd также полезно для преобразования прямого hexdump, например. 68656c6c6f20776f726c64 (привет мир)... sed используется в этом примере просто для удаления '\x'.

Этот первый отрывок игнорирует символы, которые не находятся в \xXX формате...

<file sed -e 's|\\x||g' | xxd -p -r

Если Вы хотите сохранить новые строки (\n по сравнению с \x0a) из исходного файла, используйте это (другой текст проигнорирован),

<file sed -e 's|\\x||g; s|$|0a|' | xxd -p -r

создайте тестовый файл

echo -n "
\x63\x61\x74\x0a\x64\x6f\x67\x0a\x62\x69\x72\x64\x0a\x6d\x6f\x6f
\x73\x65\x0a\x61\x6c\x62\x61\x74\x72\x6f\x73\x73" >file

вывод (от 1-го отрывка, который только действует на \xXX данные),

cat
dog
bird
moose
albatross
41
21.11.2016, 14:07
1 ответ

Это - вероятно, ошибка, это найдено только в одном примере на том учебном руководстве. Все другие примеры имеют copytruncate без create опция. Также logrotate страница справочника указывает, что будет на самом деле проигнорирована:

copytruncate

Усеките исходный файл журнала для обнуления размера на месте после создания копии, вместо того, чтобы переместить старый файл журнала и дополнительно создать новый. Это может использоваться, когда некоторой программе нельзя сказать закрыть ее файл журнала и таким образом могла бы продолжить писать (добавление) в предыдущий файл журнала навсегда. Обратите внимание, что существует очень маленький интервал времени между копированием файла и усечением его, таким образом, некоторые данные регистрации могли бы быть потеряны. Когда эта опция будет использоваться, создать опция не будет иметь никакого эффекта, поскольку старый файл журнала остается на месте.


Относительно maxage, Я думаю, что это может быть полезно, например, для файлов журнала, которые могут быть пустыми в течение нескольких периодов вращения (дни/недели/месяцы) — если Вы используете notifempty, пустой файл журнала не будет повернут, таким образом, у Вас смогут быть слишком старые повернутые файлы все еще на месте.

59
27.01.2020, 19:35

Теги

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