Что такое kintegrityd и почему он имеет значение -20 nice?

С GNU find :

find . -daystart -type f -mtime -2 -mtime +-1 -ls

предоставит вам файлы, которые были в последний раз изменены между вчера 00:00:00 и 23:59: 59.999999999 сегодня. Это может дать вам неправильные результаты при переключении с / на летнее время (в часовых поясах с зимним / летним временем), поскольку он считает количество 24-часовых единиц с начала сегодняшнего дня и вокруг перехода на / с летнего времени, есть один 23 или 25-часовой день.

Вы также можете сделать (все еще с GNU find ):

find . -type f -newermt yesterday ! -newermt tomorrow -ls

Но это даст файлы, измененные точно в 00: 00: 00.000000000 завтра, а не те, которые были изменены вчера в это время. Ужасно маловероятно, что файл был последний раз изменен за эту наносекунду, но это может произойти для файлов, время модификации которых было установлено произвольно с помощью touch , например, или в файловых системах, которые не имеют субсекунды. детализация по времени.

С помощью zsh :

autoload age # best in ~/.zshrc
ls -lrtd -- *(D.e:'age yesterday tomorrow':)

Или рекурсивно, как с find :

ls -lrtd -- **/*(D.e:'age yesterday tomorrow':)

(то же примечание о границах, что и для find -newermt выше).


Что касается того, почему вы не получили правильный результат с:

find . -type f -mtime +2 -prune -o -mtime +1 -exec ls -ltr {} \;

Во-первых, обратите внимание, что -a (подразумевается, когда опущено) имеет приоритет над -o , поэтому приведенное выше на самом деле:

find . \( -type f -a -mtime +2 -a -prune \) -o \
  \( -mtime +1 -a -exec ls -ltr {} \; \)

Таким образом, -тип f применяется только в первой группе.

-mtime +2 выбирает файлы, возраст которых, округленный до следующего дня (24 часа), строго больше 2, то есть файлы, которые были в последний раз изменены более 48 часов назад (по сравнению с текущей датой). ) и файлы -mtime +1 , которые в последний раз были изменены более 24 часов назад.

Вы хотите, чтобы возраст сравнивался с началом дня (отсюда (специфичный для GNU) -daystart ).

Также обратите внимание, что с -exec ls -lrt {} \; вы запускаете по одному ls для каждого файла, поэтому параметр -rt позволяет сортировать файлы бесполезно has ls имеет только один файл для сортировки. Вместо этого вы можете использовать -exec ls -lrt {} + , но даже тогда, если список файлов большой, ls может вызываться несколько раз.

3
13.01.2017, 12:28
2 ответа

Согласно этому ответу Quora он проверяет целостность блочных устройств, записывая в них данные и проверяя, что они не изменились.

Кажется, это файл, в котором он определен. Строка 469, похоже, отдает ей высокий приоритет.

1
27.01.2020, 21:37

Рабочая очередьkintegritydреализует расширения целостности данных для блочного ввода-вывода. Все рабочие очереди ядра по умолчанию -20 хороши. Эта система также известна как bio-integrity, что является гораздо более эффективным поисковым термином. Автор — Мартин К. Петерсен из Oracle. Документация ядра здесь , а исходный код здесь .

0
19.09.2021, 19:37

Теги

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