Configuration de logrotate sans accès root (par rotation du journal utilisateur)

18

Quelle est la meilleure façon de configurer logrotate, utilisateur par utilisateur, pour faire pivoter les fichiers dans le répertoire personnel de l'utilisateur, sous le contrôle d'un utilisateur crontab -e?

Bryce
la source

Réponses:

27

Essayez cette procédure:

  1. créer un /home/user/logrotatedossier

    mkdir /home/user/logrotate
    
  2. créer /home/user/logrotate/my.confun fichier de configuration avec la directive logrotate selon vos besoins

  3. créer /home/user/logrotate/cronjobpour exécuter logrotate tous les jours à 2h30 du matin (c'est un exemple)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. vérifiez la syntaxe de votre fichier de configuration:

    logrotate -d /home/user/logrotate/my.conf
    
  5. configure crontabto run logrotate ( Attention : cela supprime les entrées existantes dans votre crontab. Utilisez crontab -epour ajouter manuellement la ligne de l'étape 3 à un crontab existant):

    crontab /home/user/logrotate/cronjob 
    

Après cette dernière commande, logrotatefera pivoter le fichier comme décrit dans /home/user/logrotate/my.confet enregistrera l'état du fichier journal dans /home/user/logrotate/status.

Utilisation:

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

Voici la page de manuel logrotate et crontab .

Lety
la source
3
Très instructif. Il faut peut-être mentionner que «crontab <fichier>» supprime tous les cronjobs précédemment configurés. Cela vient de m'arriver - heureusement, j'ai eu une sauvegarde :)
pederpansen
1
@pederpansen merci d'avoir amélioré ma réponse :)
Lety
2
Merci au -sparamètre évitera error: error creating unique temp file: Permission denied.
Marco Marsala