ルートアクセスなしのlogrotateの構成(ユーザーごとのログローテーション)


18

ユーザーごとの制御の下で、ユーザーのホームディレクトリ内のファイルをローテーションするために、ユーザーごとにlogrotateをどのように最適に構成できますcrontab -eか?

回答:


27

この手順を試してください:

  1. /home/user/logrotateフォルダーを作成

    mkdir /home/user/logrotate
    
  2. /home/user/logrotate/my.conf必要に応じてlogrotateディレクティブを使用して構成ファイルを作成します

  3. /home/user/logrotate/cronjob毎日午前2:30に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

logrotateおよびcrontabのマニュアルページを次に示します。


3
非常に有益です。「crontab <file>」は、以前に設定されたすべてのcronjobsを削除することに注意してください。これはちょうど私に起こった-幸運にも私はバックアップを持っていた:)
pederpansen

1
私の答えを改善したため@pederpansen感謝:)
Lety

2
-sパラメータのおかげで回避しerror: error creating unique temp file: Permission deniedます。
マルコマルサラ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.