Ответ 1
Чтобы усечь файл независимо от того, открыт ли он запущенным приложением, выполните следующие действия:
> /var/logs/your.log
в командной строке.
Какой самый безопасный способ обрезать журнал медленных запросов MySQL (в основном Linux, но Windows будет удобнее знать), в то время как MySQL работает?
Безопасным я имею в виду:
Чтобы усечь файл независимо от того, открыт ли он запущенным приложением, выполните следующие действия:
> /var/logs/your.log
в командной строке.
От здесь:
Вы можете переместить открытый файл, а затем сообщить mysqld, чтобы скрыть журналы, которые откроют новый журнал.
shell> cd mysql-data-directory
shell> mv mysql.log mysql.old
shell> mv mysql-slow.log mysql-slow.old
shell> mysqladmin flush-logs
Если это будет продолжаться, вы должны взглянуть на logrotate, поскольку это может сделать это для вас.
Я не знал о echo > file.log
, хотя это имеет смысл. Я всегда использовал cat /dev/null > file.log
.
Кроме того, следует отметить, что очень важно не удалять файл журнала, который записывается, потому что открытая программа продолжит запись в файл. Очень сложно понять, почему все ваше пространство на жестком диске ушло!