Questions tagged «logrotate»

3
logrotate配置文件语法-可能有多个通配符条目?
由于手册页没有回答我的问题,并且我不想强制轮换,因此我决定在此处提出问题。 logrotate的手册页给出了以下示例: "/var/log/httpd/access.log" /var/log/httpd/error.log { rotate 5 mail www@my.org size 100k sharedscripts postrotate /usr/bin/killall -HUP httpd endscript } 所有带有通配符的示例仅包含一个条目。现在,我感兴趣的是是否也允许这样做: /var/log/httpd/*.log /var/log/httpd/*/*.log { # ... same as above } 原因是:我有多个虚拟主机,并由“拥有”这些虚拟主机的用户将其拆分。由于日志文件是世界可读的,因此我想将文件夹绑定安装到用户主目录中,但将其限制为用户“拥有”的日志文件,这是通过将日志分为文件夹(并绑定)来最简单地实现的。 -mount仍然需要该方案)。因此,我正在寻找一种解决方案,以旋转/var/log/httpd该目录的子目录下的所有日志文件以及该目录下的所有日志文件,而不必按名称列出每个子目录。 通常,手册页不提供通配符规则或完全路径是否可能有多个条目的线索。我正在使用Debian“ Squeeze”随附的logrotate版本3.7.8-6,但我认为这不一定特定于发行版或程序版本。

9
记录stdout的旋转?
我有一个Linux程序,可以将信息写入stdout和stderr。 我有一个Shell脚本,可将输出重定向到中的文件/var/log。(通过>>和2>&1。) 有没有办法使该日志文件旋转?(最大大小,然后切换到其他文件,仅保留有限数量的文件) 我已经看到了一些有关该logrotate程序的答案,听起来不错,但它们似乎也集中在内部生成日志文件并处理HUP信号的程序上。有没有办法通过基本的输出重定向脚本来实现此目的?

2
由于非超级用户所有权,Logrotate不再读取符号链接的配置文件
目前,我们正在Rails应用程序服务器上的ruby上从Ubuntu 12.04 LTS升级到14.04 LTS,并注意到日志文件不再旋转。 在两台机器上,我们都有一个/var/app-name/config/logrotate由unix用户拥有的文件,deployer其中包含有效的logrotate文件,如下所示: /var/app-name/log/*.log { daily rotate 365 delaycompress compress dateext dateformat -%Y%m%d missingok copytruncate } 然后将其符号链接到/etc/logrotate.d/目录中,如下所示:app-name 在我们的Ubuntu 12.04服务器上,我们有logrotate 3.7.8,它运行得很好。它进入var/app-name/log/目录并轮换出所有日志文件 但是在Ubuntu 14.04服务器上,我们有logrotate 3.8.7,它不会轮换我们应用程序的日志文件。 当我通过调试时,sudo logrotate -d -f /etc/logrotate/.conf得到以下输出: Ignoring /etc/logrotate.d/app-name because the file owner is wrong (should be root). 在代码中追逐它,似乎为3.8.x发布流添加了此更改:https : //github.com/demands/logrotate/commit/b8ce386a969c60e5c8ee78023c24a1ba0aab1526 如果我更改文件的所有权符号链接到/var/app-name/config/logrotate到root那么它再次开始工作。但是鉴于此文件是我的应用程序的一部分,并且是由我们在这种状态下使用的capistrano部署框架创建的,因此当它过去可以正常工作时,我宁愿不必更改其所有权。 那么logrotate是否推荐/支持符号链接的配置文件? 如果是这样,是否应该拒绝使用deployer符号链接到/etc/logrotate.d目录中的我的文件(由拥有),被视为错误? 还是有针对特定应用程序日志轮换的另一种推荐方法? (也在Unix StackExchange上问到)

1
如何使用systemd logrotate?
我正在使用带有单位文件的systemd运行节点应用程序。可以使用查看应用日志,journalctl -u example.com但是在某些时候日志被剪切掉了,从而删除了历史记录(调试时需要此记录)。 如何使用systemd配置日志轮换,以便将我的应用程序日志存储在等中example.com.log.1,example.com.log.2以便查询我的应用程序的历史记录? 这是我的单位文件: ExecStart=/usr/bin/node keystone.js #Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier=example.com User=user Group=user Environment=NODE_ENV=production [Install] WantedBy=multi-user.target

2
logrotate无法旋转日志,并显示“无此类文件错误”
logrotate无法旋转我的日志。我已经检查了文件权限,它们很好。 我什至尝试通过将“ su root root”放入配置文件中,但仍然面临相同的问题。 请在下面找到相关详细信息: logrotate.conf文件: /var/log/testlog { compress delaycompress dateext maxage 180 rotate 15 size 1024M start 1 rotate 15 missingok } 调试日志:[使用“ -d”选项] rotating pattern: /var/log/testlog 1073741824 bytes (15 rotations) empty log files are not rotated, old logs are removed considering log /var/log/testlog log needs rotating rotating …


2
如何旋转类似于logrotate的枚举文件名?
我有几个文件,比如map-0.jpg(最新),map-1.jpg,map-2.jpg,...,map-9.jpg(最旧的)。现在我的cronjob从互联网上下载了一张新照片,并将它保存为map-0.jpg。但是,所有其他文件都应该重新枚举(0 - > 1,1 - > 2,依此类推)。在我的情况下,9号可以丢弃。 是否有一个方便的bash命令枚举我的文件类似于logrotate? 感谢帮助!
4 linux  bash  logrotate 



1
Logrotating postgres日志
我的PostgreSQL日志正在写为单个文件。比如postgresql.log,它变得越来越大。我可以看到logging_collector设置为ON,log_rotation_age也设置为1天。它还没有旋转原木。 我可以在linux下使用正常的logrotate.conf。但我对于将HUP终止信号发送到PID的postrotate脚本感到困惑。 请告诉我为postgres配置logrotate的推荐方法。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.