标签: log-rotation

文件大小超过限制后,Logrotate 不旋转文件。

来自 logrotate 联机帮助页。

它不会在一天内多次修改日志,除非该日志的标准基于日志的大小

根据手册页,如果配置基于日志大小,则 logrotate 应该旋转文件。但是,即使文件大小大于 100k,我的文件也无法获取。

有人可以指出是什么问题。

我的配置

/home/jetech/work/lampstack-5.3.9-0/apache2/logs/access_log  {
    copytruncate
    compress
#    dateext
    rotate 365
    size 100k
    olddir /home/jetech/work/lampstack-5.3.9-0/apache2/old_logs
    notifempty
    nomail
    missingok
}
Run Code Online (Sandbox Code Playgroud)

logrotate log-rotation

12
推荐指数
1
解决办法
3万
查看次数

如何gzip由rotatelogs创建的日志

我正在使用rotatelogs 以格式创建我的每日apache 日志host.<day>.<month>.<year>.access.log。现在我想在完成后 gzip 并将日志移动到不同的目录。怎么做?

更新:有一个小错误。logrotate->rotatelogs

ubuntu gzip apache-2.2 log-rotation

9
推荐指数
2
解决办法
1万
查看次数

文件名包含日期时的对数旋转

我的日志文件的格式为“2011-03-28.log.php”。每天都会创建日志文件。我想保留 5 天的日志和休息我想删除它,这意味着只会保留 5 个日志文件,其余的所有内容都将被删除。

是否可以使用 Linux logrotate ?

log-rotation

6
推荐指数
1
解决办法
6690
查看次数

MongoDB Oplog 安全性

我们正在使用 MongoDB 副本集来共享 Web 场中的会话和其他(可能敏感的)数据。

我们存储的所有数据都使用 TTL 索引在相对较短的时间段(例如一小时)后使文档过期,部分原因是出于安全原因。

但是,我突然想到,即使从 MongoDB 集合中删除数据,用于复制的 oplog 仍将包含所有创建(然后删除)的文档;然后可以轻松地从 oplog 中读取所有过期的数据。

根据分配给 oplog 的大小,其中的数据可能很旧。

我的问题是,这里的最佳实践是什么?除了大幅减少 oplog 的大小,我们还能做些什么来防止旧数据被访问?

security logging mongodb log-rotation

5
推荐指数
1
解决办法
183
查看次数

logrotate cron 作业不旋转某些日志

我在“logrotate.d”目录中添加了两个脚本,以便轮换我的应用程序日志。这是其中之一的配置:

<myLogFilePath> {
  compress
  copytruncate
  delaycompress
  dateext
  missingok
  notifempty
  daily
  rotate 30
}
Run Code Online (Sandbox Code Playgroud)

“cron.daily”目录中有一个“logrotate”脚本(根据cron日志,它似乎每天都在运行):

#!/bin/sh

echo "logrotate_test" >>/tmp/logrotate_test
#/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
/usr/sbin/logrotate -v /etc/logrotate.conf &>>/root/logrotate_error

EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
Run Code Online (Sandbox Code Playgroud)

第一个 echo 语句正在运行。
但是我发现我的应用程序日志本身没有轮换,而其他日志(如 httpd)正在轮换 **
**而且我也没有在提到的“logrotate_error”文件中看到任何输出
(对所有用户都有写权限)。

但是系统日志显示:“logrotate:ALERT 异常退出 [1]”

但是当我手动在“cron.daily”脚本中运行相同的“logrotate”时,一切似乎都正常。

为什么它在每日 cron 计划中不轮换?我在这里做错了吗?
如果我能得到这些急需的帮助,那就太好了。

更新: 看起来,这是因为 selinux - 我的用户主目录中的日志文件受到 selinux 的限制,并且运行 logrotate 脚本时:

SELinux is preventing /usr/sbin/logrotate from getattr access on the …
Run Code Online (Sandbox Code Playgroud)

logging logrotate cron cron.daily log-rotation

4
推荐指数
1
解决办法
9046
查看次数

接受标准输入,然后写入日期时间戳文件的程序?

我想知道有没有一个程序可以做我想做的事。这就像一个流式日志轮换程序。对于 linux/unix 命令行。

假设我有一些输入正在传输一些数据。我想把它写一个文件,但是每天(或小时或其他)一个不同的文件,即打开一个具有指定日期时间模式的文件,并将 stdin 的内容写入该文件。当一天更改(或小时或分钟,或星期等)时,关闭该文件,然后重新打开一个新文件(将有一个新文件名),然后将行写入该文件?

所以像:

my long | process | that's generating | input | datestampfilewriter --daily 'output.%Y-%m-%d.txt'
Run Code Online (Sandbox Code Playgroud)

这个工具存在吗?

unix pipe dump log-rotation

3
推荐指数
1
解决办法
177
查看次数

如何允许 apache 在启用 SELinux 的情况下轮换用户主目录中的日志?

我们的开发机器有多个用户,他们的各种站点都存储在/home/username/apache. 在这些文件夹中是子文件夹,例如conf包含虚拟主机配置、logs包含日志、public包含实际 Web 文件等。

我想更改日志,而不是单个日志文件:

CustomLog "/home/user/apache/domain.tld/logs/web.log" combined
Run Code Online (Sandbox Code Playgroud)

我们将日志分成每日日志:

CustomLog "|/usr/sbin/rotatelogs -l /home/user/apache/domain.tld/logs/%Y%m%d_web.log 86400" combined
Run Code Online (Sandbox Code Playgroud)

但是,当我放入此配置时,重新启动 apache,然后重新加载页面,同时拖尾audit.logausearch,我看到如下错误:

----
type=SYSCALL msg=audit(06/06/2014 14:16:51.401:406272) : arch=x86_64 syscall=open success=no exit=-13(Permission denied) a0=7fff70a92460 a1=80441 a2=1b6 a3=7fff70a92110 items=0 ppid=64542 pid=64617 auid=root uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=(none) ses=1193 comm=rotatelogs exe=/usr/sbin/rotatelogs subj=unconfined_u:system_r:httpd_rotatelogs_t:s0 key=(null)
type=AVC msg=audit(06/06/2014 14:16:51.401:406272) : avc:  denied  { search } for  pid=64617 comm=rotatelogs name=home dev=md2 ino=7208961 scontext=unconfined_u:system_r:httpd_rotatelogs_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
Run Code Online (Sandbox Code Playgroud)

我以为我可以通过更改类型来解决这个问题,就像我已经修复了其他 …

selinux apache-2.2 log-rotation

3
推荐指数
1
解决办法
3906
查看次数

用日期命名轮换审计日志

auditd 可以使用日期而不是整数来命名其轮换的审计日志吗?现在我有

audit.log
audit.log.1
audit.log.2
...
Run Code Online (Sandbox Code Playgroud)

audit.log填满所有的文件都是旋转一个数字更高。我有一个备份审计日志的脚本,tar当它看到所有文件在它下面移动时会感到困惑。我想按日期命名文件,这样它们在audit.log填满时就不会全部移动。

auditd log-rotation

2
推荐指数
1
解决办法
2164
查看次数

滚动日志文件而不会丢失任何日志事件

我有一个 8GB 的​​文件,调用php.log了一个正在运行的 php 脚本登录到它。记录每个事件对我来说很重要,我想压缩它并清空当前文件而不停止 Web 服务器。

如果我运行:

    mv php.log php.log.backup20140305-01
    touch php.log
Run Code Online (Sandbox Code Playgroud)

我会丢失一些数据。如何在不丢失任何数据的情况下执行此操作?

logging gzip log-rotation

1
推荐指数
1
解决办法
1291
查看次数

freebsd 的 newsyslog.conf 每日日志轮换

我正在尝试利用newsyslog.conf -- newsyslog(8) configuration file来轮换我的apache//日志文件nginxsquid

# uname -a
FreeBSD X 9.2-RELEASE-p17 FreeBSD 9.2-RELEASE-p17 #0 r282430: Mon May  4 13:59:58 PDT 2015     root@X:/usr/obj/usr/src/sys/R610  amd64
# tail -1 /etc/newsyslog.conf 
<include> /etc/newsyslog-local.conf
# cat /etc/newsyslog-local.conf 
/var/log/httpd-*.log    root:wheel  644 7   *   @T00    JC  /var/run/httpd.pid
/var/log/nginx-*.log    root:wheel  644 7   *   @T00    JC  /var/run/nginx.pid
/var/log/squid/*.log    squid:squid 640 7   *   @T00    JC  /var/run/squid/squid.pid
# newsyslog 
# echo $?
0
# ll /var/log/httpd-* /var/log/nginx-* /var/log/squid/*log*
-rw-r--r--  1 root   wheel   794179378 Jun …
Run Code Online (Sandbox Code Playgroud)

freebsd log-rotation

0
推荐指数
1
解决办法
7910
查看次数

(2)没有那个文件或目录:AH00104:无法启动管道日志程序

好吧,有时看似简单的事情会变成灾难。

一旦我添加到 VirtualHost:

CustomLog "|usr/sbin/rotatelogs -l ${APACHE_LOG_DIR}/01030/%Y%W_01030.access.log 604800" combined
Run Code Online (Sandbox Code Playgroud)

我得到:

[Wed Nov 25 20:08:37.886766 2015] [mpm_prefork:notice] [pid 1381] AH00171: Graceful restart requests, do restart (2)No such file or directory: AH00104: 无法启动管道日志程序 'usr/sbin/ rotatelogs -l /var/log/apache2/40539/%Y%W_40539.access.log 604800'

[2015 年 11 月 25 日星期三 20:08:37.992571] [:emerg] [pid 1381] AH00019:无法打开日志,正在退出

Debian 8,Apache 2.4.10。

一定有什么东西在水里。在 2.4.10 周围看到了这个问题,但显然没有令人满意的答案。帮助将不胜感激。

log-rotation apache-2.4 debian-jessie

0
推荐指数
1
解决办法
4481
查看次数