
執行時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 之後的選項(請參閱這個答案在另一個線程中作為示例)