
При выполнении logrotate
выводится следующее:
error: error creating output file /var/log/remote/172.29.202.29/contrail-vrouter-agent.log.1: File exists
error: error creating output file /var/log/remote/172.29.207.139/swift-object-server.log.1: File exists
...
Таких существующих log.1
файлов около 1000. Я хотел бы переименовать их все, ***log.2
чтобы я мог успешно перезапустить logrotate
.
Как мне это сделать?
решение1
Если вы ищете просто разовое решение, то это должно сработать:
find /var/log/remote/ -maxdepth 2 -type f -name *.log.1 | sed -e 's/log\.1/log\./g' | xargs -i mv {}1 {}2
Однако учтите, что это приведет к переименованиюВСЕ *.log.1
файлы в/var/log/remote/*/
Поэтому, если есть некоторые каталоги, которые вы хотите пропустить /var/log/remote/
, вам следует использовать -not -path <path>
опцию после find (см.этот ответ в другой теме для примера)