Bash: Копирование журналов в другой файл и удаление скопированного журнала

Bash: Копирование журналов в другой файл и удаление скопированного журнала

Я использую Linux и делаю некоторые скрипты bash. У меня есть файл журнала, который создает журналы всех событий/изменений в нашем конкретном каталоге. Мне нужно скопировать эти журналы в какой-то другой файл, чтобы я мог работать с ним. Но я не могу просто использовать:

cp /mnt/abc.log /tmp/xyz.log

Потому что это не удалит журналы, которые уже скопированы abc.log- мне нужно скопировать журналы, а затем удалить скопированные журналы (не файл), чтобы в следующий раз я получил новые журналы.

Потому что если я скопирую логи, удалю этот файл и снова создам файл заново, то я потеряю события, произошедшие в то время. Мне нужен какой-то скрипт bash для этого.

решение1

Просто используйте logrotate или любую другую программу ротации логов, которая доступна в Интернете. Нет смысла разрабатывать что-то свое.

Связанный контент