Как сделать моментальные снимки Linux, похожие на гостевые снимки VirtualBox?

Проблема в том, что ваш файл журнала остается открытым приложением, которое записывает в него данные. Если вы обрежете файл (> file.log), ваше приложение все равно будет писать в него с точки последней записи (из-за усечения, я полагаю, что ваш файл будет заполнен 0 байтами до этой точки ). Если вы переместите файл, ваше приложение продолжит запись в него, поскольку после открытия его имя не имеет значения. Если вы удалите файл, блоки не будут освобождены с диска, и приложение по-прежнему будет записывать их, даже если файл больше не виден в вашем каталоге.

Это классический сценарий. Ваше приложение должно:

  • либо периодически заново открывать файл журнала
  • или обнаружить, что он был усечен, и снова открыть его
  • или дождитесь специального сигнала, сообщающего «закройте текущий файл журнала и снова откройте его»

В противном случае вы ничего не сможете сделать извне, кроме перезапуска приложения. Затем вы должны сделать это так же, какlogrotate:

  • сначала переместите файл журнала под новым именем
  • опционально touchфайл журнала со старым именем, чтобы файл существовал
  • перезапустить приложение, чтобы принудительно прекратить запись в старый файл журнала и начать запись в новый.
-1
05.11.2019, 22:09
1 ответ

Как уже упоминалось, btrfs позволяет делать снимки. Также lvm, который часто используется на серверах, поскольку он обеспечивает гибкость в управлении вашими дисками, имеет возможность делать моментальные снимки. Но самый простой способ использовать LVM — это выбрать его при первой установке. См.https://www.tecmint.com/take-snapshot-of-logical-volume-and-restore-in-lvm/

Процедура установки btrfs или LVM зависит от того, какой дистрибутив вы используете.

0
28.01.2020, 05:11

Теги

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