好吧,但我使用的是copytruncate指令,它会生成原始文件的副本,然后截断原始文件.因此,将新复制的文件移动到不同物理磁盘上的不同位置应该没有问题.
但是当我运行logrotate时,它仍然抱怨logfile和olddir在不同设备上运行.
它有什么办法吗?可能运行一些自定义的postrotate脚本,将日志文件移动到所需的位置?
解决方法 这是来自logrotate手册页.olddir directory <br> Logs are moved into directory for rotation. **The directory must be on the same physical device as the log file being rotated**,and is assumed to be relative to the directory holding the log file unless an absolute path name is specifIEd. When this option is used all old versions of the log end up in directory. This option may be overrIDden by the noolddir option.
olddir在同一物理设备上的存在是有限的.
可以使用以下解决方法.
将olddir设置为同一物理磁盘中的目录,并使用postrotate脚本将olddir的内容移动到不同物理设备上的目录.
示例logrotate配置文件:
/var/log/httpd/*log { copytruncate olddir /var/log/httpd/olddir rotate 5 missingok notifempty sharedscripts delaycompress postrotate mv /var/log/httpd/olddir/* /vagrant/httpd/olddir/ /sbin/service httpd reload > /dev/null 2>/dev/null || true endscript}总结
以上是内存溢出为你收集整理的linux – 如何强制(或解决)logrotate将旧日志移动到不同物理磁盘上的olddir?全部内容,希望文章能够帮你解决linux – 如何强制(或解决)logrotate将旧日志移动到不同物理磁盘上的olddir?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)