Допустим, у меня есть следующий файл журнала, который непрерывно регистрирует время простоя / работы сервера:
status.log
UP - "18:00:00"
..
..
DOWN - "19:00:03"
..
..
DOWN - "22:00:47"
..
..
UP - "23:59:48"
UP - "23:59:49"
UP - "23:59:50"
DOWN - "23:59:51"
DOWN - "23:59:52"
UP - "23:59:53"
UP - "23:59:54"
UP - "23:59:56"
UP - "23:59:57"
UP - "23:59:59"
каждый день входит в системуотдельная папка под тем же именем.
не мой настоящий код, но это гораздо более простой и прозрачный подход:
#!/bin/ruby
downtime_log = File.readlines("path/to/log/file").select { |line| line =~ /DOWN/ }
puts "#{downtime_log.count} Downtimes for today"
логикав противном случае, как я могу получить общее время простоя на файл / день в минутах и секундах, но не как общее количество.