Configurazione di logrotate senza accesso root (rotazione registro per utente)


18

Qual è il modo migliore per configurare logrotate, su base per utente, per ruotare i file nella home directory dell'utente, sotto il controllo di un utente crontab -e?

Risposte:


27

Prova questa procedura:

  1. crea /home/user/logrotatecartella

    mkdir /home/user/logrotate
    
  2. crea il /home/user/logrotate/my.conffile di configurazione con la direttiva logrotate di cui hai bisogno

  3. crea /home/user/logrotate/cronjobper eseguire logrotate ogni giorno alle 2:30 del mattino (questo è un esempio)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. controlla la sintassi del tuo file di configurazione:

    logrotate -d /home/user/logrotate/my.conf
    
  5. configura crontabper l'esecuzione logrotate ( Attenzione : questo rimuove le voci esistenti nel tuo crontab. Usa crontab -eper aggiungere manualmente la linea dal passaggio 3 a un crontab esistente):

    crontab /home/user/logrotate/cronjob 
    

Dopo quest'ultimo comando, logrotateruoterà il file come descritto in /home/user/logrotate/my.confe salverà lo stato del file di registro /home/user/logrotate/status.

Uso:

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

Ecco la pagina man di logrotate e crontab .


3
Molto istruttivo. Forse si dovrebbe dire che 'crontab <file>' rimuove tutti i cronjobs precedentemente configurati. Questo mi è appena successo - fortunatamente ho avuto un backup :)
pederpansen,

1
@pederpansen grazie per aver migliorato la mia risposta :)
Lety,

2
Grazie al -sparametro eviterà error: error creating unique temp file: Permission denied.
Marco Marsala,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.