Проблема в том, что ваш файл журнала остается открытым приложением, которое записывает в него данные. Если вы обрежете файл (> file.log
), ваше приложение все равно будет писать в него с точки последней записи (из-за усечения, я полагаю, что ваш файл будет заполнен 0 байтами до этой точки ). Если вы переместите файл, ваше приложение продолжит запись в него, поскольку после открытия его имя не имеет значения. Если вы удалите файл, блоки не будут освобождены с диска, и приложение по-прежнему будет записывать их, даже если файл больше не виден в вашем каталоге.
Это классический сценарий. Ваше приложение должно:
В противном случае вы ничего не сможете сделать извне, кроме перезапуска приложения. Затем вы должны сделать это так же, какlogrotate
:
touch
файл журнала со старым именем, чтобы файл существовал Как уже упоминалось, btrfs позволяет делать снимки. Также lvm, который часто используется на серверах, поскольку он обеспечивает гибкость в управлении вашими дисками, имеет возможность делать моментальные снимки. Но самый простой способ использовать LVM — это выбрать его при первой установке. См.https://www.tecmint.com/take-snapshot-of-logical-volume-and-restore-in-lvm/
Процедура установки btrfs или LVM зависит от того, какой дистрибутив вы используете.