大家早, 我意识到这个问题已经得到了回答,但修复似乎并没有在这种情况下工作,所以我希望你们可以帮忙。 这是我得到的错误: error: error running shared postrotate script for '/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/error.log ' 更改我的主机名后,此错误开始发生。 我与数字海洋主机,所以我改变了他们的pipe理区域,然后通过各种程序(如后缀),它也需要改变。 通常这个错误是由'debian-sys-maint'用户密码错误导致的,但是我已经validation了这个密码是正确的,用户可以login到mysql。 为了安全起见,我通过了一些步骤来解决这个问题,但是这不起作用。 我还应该提到,我也改变了主机名在另一个服务器托pipe与数字海洋和同样的问题已经发生在那里,所以我很确定主机名的变化引起的问题。 两台服务器都运行Ubuntu 14.04.1 LTS。 所以我的问题是,有没有人知道这个问题背后的原因,以及如何解决这个问题?
我在CentOS 6.5上运行Apache 2.2,我想要做的就是使用Apache的当前访问日志文件: /var/log/httpd/access_log 每天午夜,该文件被重新命名为(假设2014-09-22是刚通过的date): /var/log/httpd/access_log.2014-09-22 …并在access_log创build一个新的日志文件( access_log ),Apache继续logging。 我怎样才能做到这一点? 我已经设置了这个CustomLog指令: CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log.%Y-%m-%d 86400" combined 但是,如果今天是2014-09-22,则会导致当前(活动)日志文件被命名为access_log.2014-09-22 。 我可以想到一个hacky的解决scheme,我有一个脚本,在午夜后运行,并将/var/log/httpd/access_log设置为当前日志文件的符号链接。 (这将基于date,所以即使它是一个低stream量的服务器,并且新的日志文件还不存在,符号链接将是正确的,只要任何请求到达服务器就会起作用)。 但似乎必须有一个更优雅的方式来做到这一点。 有什么办法来告诉旋转日志使用一个文件名为当前日志,并为旋转的日志不同的文件名? 如果没有,那么有没有其他的干净的方式来做我想要的? 编辑:每天重新启动Apache不是一个选项。
我的系统是Apache 2.22的Debian 我正在尝试使用rotatelogs来旋转我的日志。 日志文件中的格式工作,但旋转不起作用。 部分的apache2.conf LogFormat "%h %t %m %U %q %>s %B \"%{Referer}i\"" custom CustomLog "|/usr/sbin/rotatelogs /var/log/apache2/access_log 60" custom 这里有什么错误? 先谢谢你。
我正在尝试使用结构化数据logging消息。 但是它显示结构化数据的空值。 我正在与rsyslog 8.9.0.Can有人告诉我要么加载一些模块或修改源获取结构数据SD-ID在logging的消息。 #Template: "<%PRI%>%TIMESTAMP:::daterfc3339%%HOSTNAME%%syslogtag%%APPNAME%%PROCID% %MSGID% %msg% %STRUCTURED-DATA%\n” 获取消息格式如下: <142> 2015-01-29T06:43:53.081641-05:00 localhost login[2116]: login 2116 – [2116 : 2116 INFO]SERIAL Login from IP:127.0.0.1 user:admin – configuration文件–rsyslog.conf: $ModLoad imuxsock # provides support for local system logging $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ModLoad mmpstrucdata $ModLoad mmrfc5424addhmac GLOBAL DIRECTIVES $ActionFileDefaultTemplate RSYSLOG_DebugFormat […]
我正在探索基本的dbadmin需求的解决scheme: 定期备份和清除MongoDB中的数据 。 基本上,我需要一个MongoDB的logrotate。 我有一个后端程序填充集合。 我故意没有在我的应用程序中实现备份和清除function,因为我在想这是一个dbadmin问题。 这个集合越来越多,每3秒钟有2个文档的节奏。 我想定期存档旧文件,并从我的collections中删除它们。 期间,过期,地方和模式如何归档将是可configuration的,就像logrotate一样。 到目前为止,我发现TTL删除它和mongodump来备份它,但我不知道我是否正在寻找正确的方向。 编辑:我会好奇得到有关MySql相同的问题的答案 重新编辑:由于无法确定哪里是最好的,所以主动复制,sysadmin和dbadmin意见对我来说都很重要。 如果您觉得不好,请随意标记
我想创build每日日志,但有一个小问题。 日志不是每天创build的,而是包含以前的日志文件。 这是我目前的设置,我怎样才能改变它,所以它只为每一天创build一个日志文件? 我编辑以下文件: /etc/logrotate.d/httpd 我正在使用名为Zadmin的控制面板,所以我将其日志path作为第二个目录。 我正在使用CentOS 6.5 64位。 /var/log/httpd/*log /var/sentora/logs/domains/zadmin/*.log { missingok rotate 4000000 daily notifempty sharedscripts postrotate /sbin/service httpd reload > /dev/null 2>/dev/null || true endscript }
我有各种所有者的日志文件的集合。 每个日志文件对应于一组程序中的一个,权限是可写组的,这样任何启动程序的人都可以写日志。 (文件是660,目录是774)。 我想使用logrotate不时归档日志。 由于我们组中的每个人都可以读取这些文件,因此我认为logrotate可以由用户执行。 但是,logrotate会尝试使用与原始相同的所有者创build旋转的文件。 如果活动用户拥有所有的文件,一切工作正常,但否则logrotate失败,因为用户没有权限创build其他人拥有的文件。 有没有办法解决这个问题? 到目前为止,我已经考虑(并放弃)以下选项 以root身份运行logrotate。 理想情况下,我会从其他程序之一触发logrotate,该程序可以由组中的任何人运行。 即使那些没有sudo权利。 create选项可以帮助后续日志转换,因为活动用户将拥有所有的日志文件。 但是这对第一次调用logrotate没有帮助。 su选项需要root权限,并且可能没有帮助,因为日志文件不一定全部由同一个用户拥有。 根据cp / mv和> ${file}滚动我自己的脚本。 我想尽可能使用现有的工具。
我正在运行一个rhel7服务器,我有一个rsyslog logrotateconfiguration文件似乎不运行使用cron作业。 它只会工作,如果我手动运行它 我采取的故障排除步骤 logrotate -df /etc/logrotate.conf 结果:能够成功logging旋转 run-parts /etc/cron.daily 结果:能够成功logging旋转(通过查看/var/log/cron的cron日志的时间戳来validation) Jun 6 15:42:19 server run-parts(/etc/cron.daily)[144143]: starting logrotate Jun 6 15:49:26 server run-parts(/etc/cron.daily)[146078]: finished logrotate 但是,问题是如果我让它正常运行,它似乎并不旋转。这是运行的cron作业的日志: Jun 6 03:19:01 server run-parts(/etc/cron.daily)[43048]: starting logrotate Jun 6 03:19:01 server run-parts(/etc/cron.daily)[43069]: finished logrotate /etc/cron.daily/ logrotate权限已经是755 关于有问题的日志文件的SELINUX权限,已经正确使用它们 chcon –reference /var/log /directory/files 有任何想法吗?
我在使用Logrotate的时候遇到了一个问题,那就是我的一台Amazon Linux机器上没有日志logging。 此框使用rsyslog并从其他设备接收日志。 正如这样一个通配符规则被使用,我认为这是问题,但删除它并没有帮助。 我已经尝试使用logrotate -fv强制旋转,但是当它说日志应该旋转时,日志的dateext存档不会在/ var / log中创build。 奇怪的是,这个工作一直持续到七月份,由于当时做了一些改变,停止了工作。 这里是rsyslog文件的logrotateconfiguration(/etc/logrotate.d/rsyslog): /var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler /var/log/boot.log /var/log/system-*.log{ compress notifempty daily sharedscripts postrotate service rsyslog restart >/dev/null 2>&1 || true endscript } 这里是logrotate -fv命令的输出: reading config file /etc/logrotate.conf including /etc/logrotate.d reading config file dracut reading config info for /var/log/dracut.log reading config file psacct reading config […]
我正在使用logrotate。 我正在使用/etc/logrotae.conf的以下结构: /var/log/messages { daily size=1G rotate 1 postrotate service rsyslog restart > /dev/null endscript rotate 4 } 而我正在执行以下命令: /etc/cron.daily/logrotate 我得到了以下错误: error: /etc/logrotate.conf:33 duplicate log entry for /var/log/messages 我正在使用centOS。 有什么能帮我弄明白吗?