View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Hacer que un Linux Debian rote automáticamente un fichero (usando logrotate)

Se va a poner el ejemplo de quere rotar el fichero /home/demo/sistema/V/Interfonia/UI_INTERFONIA/xTrazasUI generado por el programa ui_interfonia_remoto

  1. Te pones como root
    $ su
  2. Te vas al directorio /etc/logrotate.d
  3. Creas un nuevo fichero que describe tu rotación. En nuesto caso generamos un fichero que se llama interfonia-sico:
    # vi interfonia-sico
    /home/demo/sistema/V/Interfonia/UI_INTERFONIA/xTrazasUI {
      daily
      missingok
      rotate 16
      compress
      delaycompress
      notifempty
      create 640 demo demo
      sharedscripts
      postrotate
         /usr/bin/killall -15 ui_interfonia_remoto
      endscript
    }
  4. Compruebas que funciona con un:
    # logrotate -vvv -f /etc/logrotate.d/interfonia-sico
  5. Y ya está. El script del ejemplo rota diariamente, dejando 16 ficheros de log como máximo, sólo rota si el fichero a rotar no está vacío, y genera los ficheros rotados como usuario demo grupo demo; por último, después de rotar, hace un kill -15 a la aplicación para que genere un nuevo log.