Sponsored Content
Top Forums Shell Programming and Scripting awk to calculate date and show data Post 302926018 by shamrock on Thursday 20th of November 2014 07:25:36 PM
Old 11-20-2014
IMO you are better off using perl for this problem...the "entry_time" is given in seconds since the *nix Epoch...and if your awk can figure out the current Epoch then you'd be able to subtract the "now" Epoch from the "entry_time" Epoch and dole out the desired chunks to an output file.

perl comes with the date and time routines builtin...so if I were you I'd doing this in perl otherwise feel free to ignore this post...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to show yesterday date

HI all, i am a junior learner, can u teach me how to show yesterday time with unix command? thanks! Cloud (1 Reply)
Discussion started by: wind_n_cloud
1 Replies

2. Shell Programming and Scripting

calculate the date of next satureday of current date.

I want to calculate the date of next satureday of current date using shell script. Suppose, today is 27-feb-08 I want to get the date of next satureday, which means 01-mar-08, in the formate '' YYMMDD ". I do this in ksh.. Please tell me any type of command which help me out. Thanks in... (3 Replies)
Discussion started by: rinku
3 Replies

3. UNIX for Dummies Questions & Answers

ls how to not show date

Hello, I'm using ls -laR to print out a list of file and folders. I want to print only the permission, file size and file name. Also, excluding the '.' and '..'. result from ls -laR: total 6 drwxr-xr-x 8 user staff 512 Nov 28 16:17 . drwxr-x--- 16 user staff 1024... (3 Replies)
Discussion started by: minifish
3 Replies

4. Shell Programming and Scripting

calculate the average of time series data using AWK

Hi, I have two time series data (below) merged into a file. t1 and t2 are in unit of second I want to calculate the average of V1 every second and count how many times "1" in V2 is occur within a second Input File: t1 V1 t2 V2 10.000000... (5 Replies)
Discussion started by: nica
5 Replies

5. Shell Programming and Scripting

Calculate data and make it into new column using awk

Hi everyone, just some simple question... i've been using a awk script to calculate my data... i have 3 files: file a1.txt: 2 3 4 5 3 4 file a2.txt: 4 5 6 7 8 (1 Reply)
Discussion started by: yat
1 Replies

6. Shell Programming and Scripting

How to show last month date?

Hi Guys, Please somebody give me a hand to show the Month & Year in assigning to a variable and with format "MMMYY" (i.e. Jul11). See below preferred output. I tried using this but it is giving me the current month... date = "`date +%b%y`" Aug11 DESIRED OUTPUT: Jul11 ... (3 Replies)
Discussion started by: pinpe
3 Replies

7. Shell Programming and Scripting

Using awk to rearrange data according to date

Hi, I have a large data frame as shown below, where data is separated into years. 10 May 2011 Created: 10 May 11 15:05 GMT Scale: SIO-2005 and others GC-MD, Cape Grim, Tasmania, Lat.: 40.68S, Lon.: 144.69E, Alt: 94m above sea level You can use the following format in Fortran to read data... (4 Replies)
Discussion started by: gd9629
4 Replies

8. Shell Programming and Scripting

Calculate date

Hello, i need calculate the day before in this format aammdd, for example if i have 110701 i need a script to return the value 110630. I only know what with this comand "date %y%m%d" return the date system. Sorry for my english, it is very bad, i know... Thank you very much Grettings! (1 Reply)
Discussion started by: Xedrox
1 Replies

9. Shell Programming and Scripting

Calculate Julian date of a given date

How to get Julian date (Three digit) of a given date (Not current date)? I do not have root privilege - so can not use date -d. Assume that we have three variables year, month and date. Thx (5 Replies)
Discussion started by: Soham
5 Replies

10. Linux

How to calculate the quarter end date according to the current date in shell script?

Hi, My question is how to calculate the quarter end date according to the current date in shell script? (2 Replies)
Discussion started by: Divya_1234
2 Replies
Nagios::StatusLog(3pm)					User Contributed Perl Documentation				    Nagios::StatusLog(3pm)

NAME
Nagios::StatusLog, Nagios::(Service|Host|Program)::Status - Perl objects to represent the Nagios status file DESCRIPTION
Reads the Nagios status log and returns ::Status objects that can be used to get status information about a host. For Nagios version 2.x logs, pass in the Version => 2.0 parameter to new(). And similarly, pass in the Version => 3.0 parameter to new() for Nagios version 3.x logs. my $log = Nagios::StatusLog->new( Filename => "/var/opt/nagios/status.log", Version => 1.0 ); $localhost = $log->host( "localhost" ); print "status of localhost is now ",$localhost->status()," "; $log->update(); print "status of localhost is now ",$localhost->status()," "; # for Nagios v2.0 my $log = Nagios::StatusLog->new( Filename => "/var/cache/nagios2/status.dat", Version => 2.0 ); # for Nagios v3.0 my $log = Nagios::StatusLog->new( Filename => "/var/cache/nagios3/status.dat", Version => 3.0 ); METHODS
new() Create a new Nagios::StatusLog instance. The object will be initialized for you (using $self->update()). Nagios::StatusLog->new( "/var/opt/nagios/status.log" ); update() Updates the internal data structures from the logfile. $log->update(); service() Returns a Nagios::Service::Status object. Input arguments can be a host_name and description list, or a Nagios::Service object. my $svc_stat = $log->service( "localhost", "SSH" ); my $svc_stat = $log->service( $localhost_ssh_svc_object ); Nagios::Service::Status has the following accessor methods (For V1): host_name description status current_attempt state_type last_check next_check check_type checks_enabled accept_passive_service_checks event_handler_enabled last_state_change problem_has_been_acknowledged last_hard_state time_ok current_notification_number time_warning time_critical process_performance_data notifications_enabled latency scheduled_downtime_depth is_flapping plugin_output percent_state_change execution_time time_unknown failure_prediction_enabled last_notification obsess_over_service flap_detection_enabled list_services() Returns an array of all service descriptions in the status log. Services that may be listed on more than one host are only listed once here. my @all_services = $log->list_services; list_services_on_host() Returns an array of services descriptions for a given host. my @host_services = $log->list_services_on_host($hostname); my @host_services = $log->list_services_on_host($nagios_object); host() Returns a Nagios::Host::Status object. Input can be a simple host_name, a Nagios::Host object, or a Nagios::Service object. my $hst_stat = $log->host( 'localhost' ); my $hst_stat = $log->host( $host_object ); my $hst_stat = $log->host( $svc_object ); Nagios::Host::Status has the following accessor methods (for V1): host_name status last_check last_state_change problem_has_been_acknowledged time_up time_down time_unreachable last_notification current_notification_number notifications_enabled event_handler_enabled checks_enabled flap_detection_enabled is_flapping percent_state_change scheduled_downtime_depth failure_prediction_enabled process_performance_data plugin_output list_hosts() Returns a simple array of host names (no objects). my @hosts = $log->list_hosts; info() [Nagios v2 & v3 logs only] Returns a Nagios::Info::Status object. It only has two methods, created() and version(). my $i = $log->info; printf "Logfile created at %s unix epoch time for Nagios verion %s ", $i->created, $i->version; contact() [Nagios v3 logs only] Returns a Nagios::Contact::Status object. Input can be a simple contact_name, or a Nagios::Contact object. my $c = $log->contact( 'john' ); my $c = $log->contact( $contact_object ); Nagios::Contact::Status has the following accessor methods (for v3): contact_name modified_attributes modified_host_attributes modified_service_attributes host_notification_period service_notification_period last_host_notification last_service_notification host_notifications_enabled service_notifications_enabled hostcomment() [Nagios v3 logs only] Returns a Nagios::Hostcomment::Status object. Input can be a simple host_name, or a Nagios::Host or Nagios::Service object. my $c = $log->hostcomment( 'localhost' ); my $c = $log->hostcomment( $localhost_object ); my $c = $log->hostcomment( $localhost_service_object ); foreach my $id (sort keys %$c) { printf "Host %s has a comment[$id] made by %s on %s: %s", $c->{$id}->host_name, $c->{$id}->author, scalar localtime $c->{$id}->entry_time, $c->{$id}->comment_data; } Nagios::Hostcomment::Status is a perl HASH, keyed with the Nagios comment IDs, where each ID has the following accessor methods (for v3): host_name entry_type comment_id source persistent entry_time expires expire_time author comment_data servicecomment() [Nagios v3 logs only] Returns a Nagios::Servicecomment::Status object. Input can be a simple host_name or Nagios::Host object with a service description or Nagios::Service object, or just a Nagios::Service object by itself. my $c = $log->servicecomment( 'localhost', 'SSH' ); my $c = $log->servicecomment( $localhost_object, $localhost_ssh_svc_object ); my $c = $log->servicecomment( $localhost_ssh_svc_object ); foreach my $id (sort keys %$c) { printf "Service %s on %s has a comment[$id] made by %s on %s: %s", $c->{$id}->service_description, $c->{$id}->host_name, $c->{$id}->author, scalar localtime $c->{$id}->entry_time, $c->{$id}->comment_data; } Nagios::Servicecomment::Status is a perl HASH, keyed with the Nagios comment IDs, where each ID has the following accessor methods (for v3): host_name service_description entry_type comment_id source persistent entry_time expires expire_time author comment_data hostdowntime() [Nagios v3 logs only] Returns a Nagios::Hostdowntime::Status object. Input can be a simple host_name, or a Nagios::Host or Nagios::Service object. my $d = $log->hostdowntime( 'localhost' ); my $d = $log->hostdowntime( $localhost_object ); my $d = $log->hostdowntime( $localhost_service_object ); foreach my $id (sort keys %$d) { printf "Host %s has scheduled downtime[$id] made by %s on %s for %.1f hours [%s - %s]: %s", $d->{$id}->host_name, $d->{$id}->author, scalar localtime $d->{$id}->entry_time, ($d->{$id}->duration)/3600.0, scalar localtime $d->{$id}->start_time, scalar localtime $d->{$id}->end_time, $d->{$id}->comment; } Nagios::Hostdowntime::Status is a perl HASH, keyed with the Nagios downtime IDs, where each ID has the following accessor methods (for v3): host_name downtime_id entry_time start_time end_time triggered_by fixed duration author comment servicedowntime() [Nagios v3 logs only] Returns a Nagios::Servicedowntime::Status object. Input can be a simple host_name or Nagios::Host object with a service description or Nagios::Service object, or just a Nagios::Service object by itself. my $c = $log->servicedowntime( 'localhost', 'SSH' ); my $c = $log->servicedowntime( $localhost_object, $localhost_ssh_svc_object ); my $c = $log->servicedowntime( $localhost_ssh_svc_object ); foreach my $id (sort keys %$d) { printf "Service %s on %s has scheduled downtime[$id] made by %s on %s for %.1f hours [%s - %s]: %s", $d->{$id}->service_description, $d->{$id}->host_name, $d->{$id}->author, scalar localtime $d->{$id}->entry_time, ($d->{$id}->duration)/3600.0, scalar localtime $d->{$id}->start_time, scalar localtime $d->{$id}->end_time, $d->{$id}->comment; } Nagios::Servicedowntime::Status is a perl HASH, keyed with the Nagios downtime IDs, where each ID has the following accessor methods (for v3): host_name service_description downtime_id entry_time start_time end_time triggered_by fixed duration author comment program() Returns a Nagios::Program::Status object. No arguments. my $prog_st = $log->program; Nagios::Program::Status has the following accessor methods (For V1): program_start nagios_pid daemon_mode last_command_check last_log_rotation enable_notifications execute_service_checks accept_passive_service_checks enable_event_handlers obsess_over_services enable_flap_detection enable_failure_prediction process_performance_data STRUCTURE
This module contains 4 packages: Nagios::StatusLog, Nagios::Host::Status, Nagios::Service::Status, and Nagios::Program::Status. The latter 3 of them are mostly generated at compile-time in the BEGIN block. The accessor methods are real subroutines, not AUTOLOAD, so making a ton of calls to this module should be fairly quick. Also, update() is set up to only do what it says - updating from a fresh logfile should not invalidate your existing ::Status objects. AUTHOR
Al Tobey <tobeya@tobert.org> SEE ALSO
Nagios::Host Nagios::Service perl v5.12.4 2011-10-22 Nagios::StatusLog(3pm)
All times are GMT -4. The time now is 01:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy