首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Syslog文件大小限制

Syslog文件大小限制
EN

Stack Overflow用户
提问于 2022-10-04 18:47:52
回答 1查看 142关注 0票数 0

我有一个yocto图像使用syslog和日志旋转。我的syslog允许创建两个日志文件。一个用于调试消息,一个用于所有其他消息。我的调试日志文件将增长到200 My,然后将被移动到调试器0。归档文件(如调试器1、调试器2等)从未创建过。这意味着我正在失去数据。我将这个文件的日志旋转设置为每天激活,大小为10 my。

syslog在哪里设置日志文件的最大文件大小?在我的构建中,我的syslog.conf是从busyboxappend.bb安装的,并且包含

代码语言:javascript
复制
#  /etc/syslog.conf     Configuration file for busybox's syslogd utility

*.debug     /home/root/.evcc_logs/debug

*.info      /var/log/info
*.info      /dev/console

busybox.bbappend

代码语言:javascript
复制
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://evcc_kernel_features.cfg file://syslog.conf"

do_deploy() {
    install -d ${D}/etc/
    install -m 0755 ${WORKDIR}/syslog.conf ${D}/etc/
}   
addtask deploy after do_install 

do_install_append () {
   install -d ${D}/home/root/.evcc_logs/
   install -d ${D}/etc/evcc/
   install -d ${D}/tmpfs/
   install -d ${D}/tmpfs/can
}
FILES_${PN} += "/home/root/.evcc_logs/ \
                /etc/evcc/ \
                /tmpfs/ \
                /tmpfs/can \
                "

logrotate.bbappend

代码语言:javascript
复制
FILESEXTRAPATHS_prepend := "${THISDIR}/files/:"
SRC_URI_append = " file://logrotate.conf file://services file://rotaterules"

inherit systemd

SYSTEMD_SERVICE_${PN} = " logrotate.service logrotate.timer"

do_install_append(){
    install -d 755 ${D}/${sysconfdir}/logrotate.d/
        
    install -m 0644 ${WORKDIR}/logrotate.conf ${D}/etc
    install -m 0644 ${WORKDIR}/rotaterules/info ${D}/etc/logrotate.d/info
    install -m 0644 ${WORKDIR}/rotaterules/debug ${D}/etc/logrotate.d/debug
    install -m 0644 ${WORKDIR}/rotaterules/btmp ${D}/etc/logrotate.d/btmp
    install -m 0644 ${WORKDIR}/rotaterules/wtmp ${D}/etc/logrotate.d/wtmp   
    
    install -d ${D}{systemd_system_unitdir}
    install -m 0644 ${WORKDIR}/services/logrotate.service ${D}${systemd_system_unitdir}
    install -m 0644 ${WORKDIR}/services/logrotate.timer ${D}${systemd_system_unitdir}
}

FILES_${PN} += " \
    /etc/logrotate.conf \
    ${base_libdir}/systemd/system/logrotate.service \
    ${base_libdir}/systemd/system/logrotate.timer \
    /lib/systemd/system \
    "

logrotate.conf

代码语言:javascript
复制
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# compress log files
compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

logrotate.timer (设置为每分钟运行调试)

代码语言:javascript
复制
[Unit]
Description=Timer to run log rotation every day
Requires=logrotate.service

[Timer]
Unit=logrotate.service
OnCalendar=*-*-* *:*:00
Persistent=true

[Install]
WantedBy=timers.target

logrotate.service

代码语言:javascript
复制
[Unit]
Description=Log rotation service

[Service]
Type=simple
ExecStart=/usr/sbin/logrotate -f /etc/logrotate.conf

编辑:我认为我的系统可能有一个内在的最大文件大小,我没有意识到。这似乎不是一个特性。

EN

回答 1

Stack Overflow用户

发布于 2022-10-04 20:00:11

结果发现,这是一个在busybox中出现的错误配置问题。我必须进入日志记录设置并关闭旋转日志文件选项。我还增加了syAdd.1-d读取缓冲区的大小。

代码语言:javascript
复制
# CONFIG_FEATURE_ROTATE_LOGFILE is not set
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=512
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73952342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档