Executa o sar diariamente para o arquivo de log

1

Como posso executar o comando sar para ser executado diariamente usando o cron e ser morto a cada 24 horas e começar de novo criando um novo arquivo de log?

Comando:

sar -u 300 288 >> $(date "+ %Y-%m-%d")-cpu.log

Isso registrará o uso a cada 15 minutos por pouco mais de 24 horas.

Isso seria um bom script?

#!/bin/bash

# Kill current process
kill sar

# Start new sar
sar -u 300 290 >> $(date "+ %Y-%m-%d")-cpu.log
    
por linguru772x 16.08.2015 / 05:33

1 resposta

1

Na maioria das distribuições do Linux (se não todas), sar já salva esses dados em um arquivo em /var/log... . Consulte -o in man sar para encontrar o caminho exato:

    -o [ filename ]
          Save the readings in the file in binary form. Each reading is in a  separate  record.  The  default
          value of the filename parameter is the current daily data file, the /var/log/sysstat/sadd file. The
          -o option is exclusive of the -f option.  All the data available from the kernel are saved  in  the
          file  (in  fact,  sar  calls  its  data collector sadc with the option "-S ALL". See sadc(8) manual
          page).

Você pode ler esse arquivo binário usando sar -f filename .

Se você realmente precisa cuidar do processo de coleta de dados, confira man sadc .

    
por 16.08.2015 / 06:10

Tags