b338219 |
|
Темы:
4
Сообщения:
40
Участник с: 19 февраля 2016
|
Доброго времени суток. Есть директория (ext4) с множеством файлов/директорий. Есть программа, которая создает логи в этой директории. Возможно ли перехватывать создание новых файлов с определенным именем и переносить их в tmpfs? При этом программа не должна терять доступ к этому файлу. Или других вариантов, как создание tmpfs раздела и создание в этой директории симлинков на все предыдущие файлы/директории(на ext4 разделе) нету? |
Morisson |
|
Темы:
18
Сообщения:
1408
Участник с: 11 января 2017
|
Зачем создавать- tmp в tmpfs уже давно по-умолчанию |
Morisson |
|
Темы:
18
Сообщения:
1408
Участник с: 11 января 2017
|
Единственное, после перезагрузки данные тебе нужны? |
Morisson |
|
Темы:
18
Сообщения:
1408
Участник с: 11 января 2017
|
И оперативки сколько? |
b338219 |
|
Темы:
4
Сообщения:
40
Участник с: 19 февраля 2016
|
Мне не tmp в tmpfs надо пихать, а конкретные (новые логи) из кастомной директории. Памяти 16, но суть не в том. |
Morisson |
|
Темы:
18
Сообщения:
1408
Участник с: 11 января 2017
|
tmp в tmpfs уже там без тебя) Пропиши в /etc/fstab, например:
|
b338219 |
|
Темы:
4
Сообщения:
40
Участник с: 19 февраля 2016
|
Я знаю, что /tmp в tmpfs. В "/путь/к/твоей/папке" есть огромная куча других файлов и директорий. Мне не нужно помещать все это в tmpfs. Хотелось бы помещать только новые файлы с подходящим именем в tmpfs. Я понимаю, что можно создать tmpfs раздел и создать симлинки на все старые файлы/директории в "/путь/к/твоей/папке". Тогда все новые файлы будут создаваться в tmpfs разделе. Просто интересно, есть ли другой способ. |
vasek |
|
Темы:
48
Сообщения:
11334
Участник с: 17 февраля 2013
|
b338219Например, периодически отслеживать появление новых файлов в заданной директории. Файлы, удовлетворяющие заданному шаблону перемещать в нужную директорию.
Ошибки не исчезают с опытом - они просто умнеют
|
b338219 |
|
Темы:
4
Сообщения:
40
Участник с: 19 февраля 2016
|
vasekДа, но если в программе файл все еще открыт на запись? Я так понимаю, что будет печально, даже если симлинк создать на новое место...b338219Например, периодически отслеживать появление новых файлов в заданной директории. Файлы, удовлетворяющие заданному шаблону перемещать в нужную директорию. |
vasek |
|
Темы:
48
Сообщения:
11334
Участник с: 17 февраля 2013
|
b338219Нужно конкретнее описывать задачу. Самый простой способ - использовать find - например, найти файлы, которые были модифицированы за последние 10 минут в директории ~/TEST (сюда войдут и вновь созданные файлы) find ~/TEST -type f -mmin -10 !!! НО, если файл открыт и в него идет запись, его в выводе не будет, он появится только после закрытия файла. Чтобы убедиться, советую провести эксперимент. И можно, например, так - написать юнит/таймер, который будет периодически запускать поиск файлов, измененных за определенное время и записывать этот вывод в файл (с его очисткой перед записью), построчно читать этот файл и если файл удовлетворяет требованиям, то перемещать его в нужное место. Можно отслеживать и все события определенного процесса в определенной директории, а дальше то же самое. Но это намного сложнее и нет смысла задействовать для этого сложную комбинацию с использованием sysdig.
Ошибки не исчезают с опытом - они просто умнеют
|