You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过配置永久修改Cassandra system.log的文件权限?

如何通过配置永久修改Cassandra system.log的文件权限?

嘿,这个问题我碰到过好多次啦!Cassandra默认用Logback来管理日志,你手动改完权限后被logrotate打回原形,是因为Logback在创建新日志文件(包括滚动生成的归档文件)时,会遵循自己配置的权限规则,而不是系统的umask或者你手动修改的权限。不过别担心,咱们直接在Logback的配置里搞定它就行,步骤很清晰:

  • 首先找到Cassandra的logback.xml配置文件,一般在$CASSANDRA_HOME/conf目录下(如果是系统安装的,可能在/etc/cassandra/里)。
  • 打开配置文件后,找到对应system.log的FILE appender块——就是那个包含<file>${cassandra.logdir}/system.log</file>标签的配置段。
  • 在这个appender里添加<filePermissions>标签,把值设为你需要的权限,比如你想要的644(或者对应的字符串"rw-r--r--",注意要加双引号)。示例配置如下:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${cassandra.logdir}/system.log</file>
    <!-- 新增这一行设置主日志文件权限 -->
    <filePermissions>644</filePermissions>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${cassandra.logdir}/system.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
        <maxFileSize>20MB</maxFileSize>
        <maxHistory>7</maxHistory>
        <totalSizeCap>100MB</totalSizeCap>
    </rollingPolicy>
    <encoder>
        <pattern>%date{ISO8601} %-5level [%thread] %logger:%msg%n</pattern>
    </encoder>
</appender>
  • 如果你还想让滚动生成的归档日志(比如system.log.2024-05-20.0.gz这类文件)也保持644权限,可以在同一个appender里再添加<rollingFilePermissions>标签:
<!-- 新增这一行设置归档日志文件权限 -->
<rollingFilePermissions>644</rollingFilePermissions>
  • 最后重启Cassandra服务,这样新生成的system.log以及滚动后的归档日志都会永久保持644权限,再也不会被logrotate还原啦!

备注:内容来源于stack exchange,提问作者Karthiknathan.C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:49:11