Script do Linux que indica a hora em que o servidor estava offline?

2

Abaixo estão os dados do meu servidor dedicado:

root@namhost [~]# last
root     pts/0        XXX Tue May 18 09:46   still logged in
root     pts/0        XXX Mon May 17 08:51 - 12:18  (03:26)
reboot   system boot  XXX Mon May 17 08:49         (1+00:59)
root     pts/0        XXX Sun May 16 11:50 - 13:15  (01:25)

root@namhost [~]# last | grep "system boot"
reboot   system boot  2.6.18-164.15.1. Mon May 17 08:49         (1+01:02)
reboot   system boot  2.6.18-164.el5   Tue May 11 04:20         (7+05:31)
reboot   system boot  2.6.18-164.el5   Tue May 11 03:53         (7+05:58)
reboot   system boot  2.6.18-128.el5   Mon Oct  5 22:40          (-3:-50)
....

Eu preciso de um script que eu possa rodar de hora em hora e que:  1. Calcule o tempo total de inatividade desde a primeira data  2. A porcentagem geral de tempo de inatividade  3. Armazene esses dados em um arquivo em /home/bla/file.txt, no seguinte formato:     TotalDowntime = 03: 02: 02     Média = 0,01%

Como faço para fazer isso?

    
por coderama 18.05.2010 / 12:07

2 respostas

1

Se você está tentando descobrir quando o seu sistema foi desligado (e eu não tenho certeza do porquê de um servidor estar desligado), você pode tentar o seguinte (embora eu tenha certeza de que há chegou a ser uma maneira muito melhor):

  1. Crie uma pasta em algum lugar para registrar coisas (talvez / var / downtime_logs /)
  2. Crie um cronjob para tocar em um arquivo nessa pasta touch /var/downtown_logs/'date +%s' a cada minuto (ou use $(date +%s) para evitar o uso de backticks )
  3. Em seguida, conte o número de arquivos nessa pasta
  4. Se você comparar a data do primeiro arquivo com a data atual, a quantidade de tempo que você mantém estatísticas e poderá fazer algumas contas para obter o restante

Eu deixei isso como um wiki da comunidade para outras pessoas entrarem e terminarem o resto

    
por 18.05.2010 / 17:47
1

Existem downtimed para esse fim.

    
por 26.09.2010 / 09:34