执行时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
...
这些现有文件大约有 1000 个log.1
。我想将它们全部重命名为,***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 之后的选项(请参阅这个答案在另一个线程中作为示例)