find /var/logs/ -name 'foo*.log' -print0 | tail -r | xargs -0 bar
Должен управлять способом, которым Вы хотите (это было протестировано на Mac OS X, и у меня есть протест ниже...).
Из страницы справочника для находки:
-print0 This primary always evaluates to true. It prints the pathname of the current file to standard output, followed by an ASCII NUL character (charac- ter code 0).
В основном Вы находите файлы, которые соответствуют Вашей строке + шарик и завершающий каждого с символом NUL. Если Ваши имена файлов содержат новые строки или другие странные символы, находка должна обработать это хорошо.
tail -r
берет стандартный вход через канал и инвертирует его (отметьте это
tail -r
печать весь вход к stdout и не только последние 10 строк, который является стандартным значением по умолчанию.man tail
для большего количества информации).Мы затем передаем это по каналу к
xargs -0
:-0 Change xargs to expect NUL (``\0'') characters as separators, instead of spaces and newlines. This is expected to be used in concert with the -print0 function in find(1).
Здесь, xargs ожидает видеть аргументы, разделенные символом NUL, от которого Вы передали
find
и инвертированный сtail
.Мой протест: я считал это
tail
не играет хорошо с завершенными пустым указателем строками. Это работало хорошо над Mac OS X, но я не могу гарантировать, что это имеет место для всех *, отклоняет. Действовать осторожно.Я должен также упомянуть, что Параллель GNU часто используется в качестве
xargs
альтернатива. Можно проверить это, также.Я могу пропускать что-то, таким образом, другие должны вмешаться.
Если у Вас есть ряд файлов, для которых Вам нужна низкая задержка, можно установить объем RAID-1, который зеркально отражает содержание SSD на жестком диске. Объявите компонент жесткого диска как “запись главным образом”, так, чтобы SSD был одобрен при чтении. Например, если sda
Ваш SSD и sdb
Ваш жесткий диск, создайте раздел sda1
это покрывает целый диск, создайте раздел sdb1
из того же размера, и создают объем RAID с
mdadm --create -l 1 -n 2 /dev/md0 /dev/sda1 --write-mostly /dev/sdb1
Существует flashcache. Это используется Facebook для ускорения систем хранения DB.
Я еще не попробовал его, таким образом, Ваш пробег может варьироваться.
Так как dm-кэш Linux 3.9 был объединен в дерево магистрали. Согласно документации, это специально предназначено с этой целью.
Это имеет целью улучшать производительность блочного устройства (например, шпиндель) путем динамичной миграции некоторых его данных к более быстрому, устройству меньшего размера (например, SSD).
Это также обеспечит, запись, кэширующаяся некоторым, расширитесь:
Если обратная запись, значение по умолчанию, будет выбрана затем запись к блоку, который кэшируется, то перейдет только к кэшу, и блок будет отмечен грязный в метаданных.
О виртуальном гибридном диске требуется видеть:
Это решение картопостроителя устройства позволяет нам вставлять это кэширование на разных уровнях стопки dm, например, выше устройства данных для пула тонкой резервации памяти.
Другими словами, dm-стек позволяет Вам использовать любое блочное устройство / раздел для становления единственным кэшируемым виртуальным диском как устройством хранения, точно так же, как a /dev/md0
в наборе набега программного обеспечения.
LVM также позволяет это:
Гибридные тома можно создавать с помощью целевого кэша dm -, который позволяет одному или нескольким быстрым устройствам хранения, таким как твердотельные накопители на основе флэш-памяти -, выступать в качестве кэша для одного или нескольких более медленных жестких дисков.