Cấu hình logrotate mà không cần quyền truy cập root (mỗi vòng quay nhật ký người dùng)


18

Làm thế nào tốt nhất có thể cấu hình logrotate, trên cơ sở cho mỗi người dùng, để xoay các tệp trong thư mục chính của người dùng, dưới sự kiểm soát của mỗi người dùng crontab -e?

Câu trả lời:


27

Hãy thử thủ tục này:

  1. tạo /home/user/logrotatethư mục

    mkdir /home/user/logrotate
    
  2. tạo /home/user/logrotate/my.conftập tin cấu hình với chỉ thị logrotate khi bạn cần

  3. tạo /home/user/logrotate/cronjobđể chạy logrotate mỗi ngày vào lúc 2:30 sáng (đây là một ví dụ)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. kiểm tra cú pháp tập tin cấu hình của bạn:

    logrotate -d /home/user/logrotate/my.conf
    
  5. cấu hình crontabđể chạy logrotate ( Cảnh báo : Thao tác này sẽ xóa các mục hiện có trong crontab của bạn. Sử dụng crontab -eđể thêm thủ công dòng từ bước 3 vào crontab hiện có):

    crontab /home/user/logrotate/cronjob 
    

Sau lệnh cuối cùng này, logrotatesẽ xoay tệp như được mô tả trong /home/user/logrotate/my.confvà lưu trạng thái tệp nhật ký trong /home/user/logrotate/status.

Sử dụng:

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

Đây là trang man logrotatecrontab .


3
Rất hướng dẫn. Có lẽ nên đề cập rằng 'crontab <file>' sẽ xóa tất cả các cronjob được cấu hình trước đó. Điều này chỉ xảy ra với tôi - may mắn là tôi đã có một bản sao lưu :)
pederpansen

1
@pederpansen cảm ơn vì đã cải thiện câu trả lời của tôi :)
Lety

2
Nhờ -stham số sẽ tránh được error: error creating unique temp file: Permission denied.
Marco Marsala
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.