Konfigurowanie Logrotate bez dostępu roota (na rotację dziennika użytkownika)

18

W jaki sposób najlepiej skonfigurować program logrotate dla poszczególnych użytkowników, aby obracać pliki w katalogu osobistym użytkownika pod kontrolą poszczególnych użytkowników crontab -e?

Bryce
źródło

Odpowiedzi:

27

Spróbuj wykonać tę procedurę:

  1. utwórz /home/user/logrotatefolder

    mkdir /home/user/logrotate
    
  2. utwórz /home/user/logrotate/my.confplik konfiguracyjny z dyrektywą logrotate według potrzeb

  3. utwórz, /home/user/logrotate/cronjobaby uruchamiać logrotate codziennie o 2:30 rano (to przykład)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. sprawdź składnię pliku konfiguracyjnego:

    logrotate -d /home/user/logrotate/my.conf
    
  5. skonfiguruj crontabdo uruchomienia logrotate ( Ostrzeżenie : Usunie to istniejące wpisy z twojej tabeli. Użyj, crontab -eaby ręcznie dodać linię z kroku 3 do istniejącej tabeli):

    crontab /home/user/logrotate/cronjob 
    

Po tym ostatnim poleceniu logrotateobróci plik zgodnie z opisem w/home/user/logrotate/my.conf i zapisze status pliku dziennika w /home/user/logrotate/status.

Posługiwać się:

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

Oto strona podręcznika użytkownika logrotate i crontab .

Lety
źródło
3
Bardzo pouczające. Być może należy wspomnieć, że „crontab <plik>” usuwa wszystkie wcześniej skonfigurowane cronjobs. Tak się właśnie stało - na szczęście miałem kopię zapasową :)
pederpansen
1
@pederpansen dzięki za poprawę mojej odpowiedzi :)
Lety
2
Dzięki temu -sparametrowi unikniesz error: error creating unique temp file: Permission denied.
Marco Marsala