配置无根访问权限的logrotate(按用户日志轮转)


18

在每个用户的控制下,如何最好地按用户配置logrotate来轮换用户主目录中的文件crontab -e

Answers:


27

请尝试以下过程:

  1. 创建/home/user/logrotate文件夹

    mkdir /home/user/logrotate
    
  2. /home/user/logrotate/my.conf根据需要使用logrotate指令创建配置文件

  3. 创建/home/user/logrotate/cronjob每天2:30 AM运行logrotate(这是一个示例)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. 检查您的配置文件语法:

    logrotate -d /home/user/logrotate/my.conf
    
  5. 配置crontab运行logrotate警告:这将删除crontab中的现有条目。用于crontab -e将步骤3中的行手动添加到现有crontab中):

    crontab /home/user/logrotate/cronjob 
    

执行完最后一条命令后,logrotate将按照中所述旋转文件/home/user/logrotate/my.conf,并将日志状态保存到中/home/user/logrotate/status

采用:

crontab -r   # remove crontab activities for user
crontab -l   # to list crontab activity for user
crontab -e   # edit user crontab entries

这是logrotatecrontab手册页。


3
很有启发性。也许应该提到'crontab <file>'删除了所有先前配置的cronjobs。这只是发生在我身上-幸运的是,我做了个备份:)
pederpansen

1
@pederpansen感谢您改善了我的回答:)
Lety

2
由于-s参数将避免error: error creating unique temp file: Permission denied
马可·萨拉
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.