From cf0dee616af1f417daa76e746dfaa50947009fac Mon Sep 17 00:00:00 2001 From: Ton Voon Date: Thu, 25 Oct 2007 20:43:04 +0000 Subject: [PATCH] Automatically update website with --help output. Cosmetic fixes for some help output git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1810 f882894a-f735-0410-b71e-b25c423dba1c --- plugins-root/check_dhcp.c | 6 +++--- plugins/check_ping.c | 2 +- plugins/check_ups.c | 2 +- tools/sync_website | 44 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100755 tools/sync_website diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c index c6e5af8..bc2f4bb 100644 --- a/plugins-root/check_dhcp.c +++ b/plugins-root/check_dhcp.c @@ -269,9 +269,6 @@ int main(int argc, char **argv){ int dhcp_socket; int result = STATE_UNKNOWN; - /* this plugin almost certainly needs root permissions. */ - np_warn_if_not_root(); - setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); @@ -280,6 +277,9 @@ int main(int argc, char **argv){ usage4 (_("Could not parse arguments")); } + /* this plugin almost certainly needs root permissions. */ + np_warn_if_not_root(); + /* create socket for DHCP communications */ dhcp_socket=create_dhcp_socket(); diff --git a/plugins/check_ping.c b/plugins/check_ping.c index bf726d8..065a14c 100644 --- a/plugins/check_ping.c +++ b/plugins/check_ping.c @@ -548,7 +548,7 @@ print_help (void) { print_revision (progname, revision); - printf ("Copyright (c) 1999 Ethan Galstad "); + printf ("Copyright (c) 1999 Ethan Galstad \n"); printf (COPYRIGHT, copyright, email); printf (_("Use ping to check connection statistics for a remote host.")); diff --git a/plugins/check_ups.c b/plugins/check_ups.c index 0cd4c5a..832c32b 100644 --- a/plugins/check_ups.c +++ b/plugins/check_ups.c @@ -598,7 +598,7 @@ print_help (void) print_revision (progname, revision); - printf ("Copyright (c) 2000 Tom Shields"); + printf ("Copyright (c) 2000 Tom Shields\n"); printf ("Copyright (c) 2004 Alain Richard \n"); printf ("Copyright (c) 2004 Arnaud Quette \n"); printf (COPYRIGHT, copyright, email); diff --git a/tools/sync_website b/tools/sync_website new file mode 100755 index 0000000..8489bc5 --- /dev/null +++ b/tools/sync_website @@ -0,0 +1,44 @@ +#!/usr/bin/perl +use strict; +use DBI; +#$ENV{PERL5LIB}="plugins-scripts"; # Needed for utils.pm + +unless ($ENV{DRUPAL_PASSWORD}) { + die "Must set envvar for DRUPAL_PASSWORD"; +} + +my $pid = open(F, "-|", qw(ssh -n -N -L 25555:127.0.0.1:3306 nagiosplugins.org)); + +# Allow time for ssh tunnel to be created +sleep 2; + +# To stop the death of ssh tunnel being defunct +$SIG{CHLD} = 'IGNORE'; + +END { kill 'INT', $pid if $pid }; + +my $dbh = DBI->connect("DBI:mysql:database=drupal;host=127.0.0.1;port=25555", "drupal", $ENV{DRUPAL_PASSWORD}); + +my @plugin_paths; +push @plugin_paths, (grep { -x $_ && -f $_ } (, ) ); + +foreach my $plugin_path (@plugin_paths) { + my $plugin = $plugin_path; + $plugin =~ s%.*/%%; + my $help_option = "--help"; + $help_option = "-h" if ($plugin eq "check_icmp"); + my $help = `$plugin_path $help_option` || die "Cannot run $plugin -h"; + $help =~ s//>/g; + + my $rows = $dbh->do("UPDATE node SET created=UNIX_TIMESTAMP(NOW()) WHERE title='$plugin'"); + unless ($rows == 1) { + die "Cannot find $plugin in drupal to update - create book page first"; + } + + $dbh->do("UPDATE node_revisions SET timestamp=UNIX_TIMESTAMP(NOW()), log='Updated by update_online_manpage', teaser='$plugin --help', body=? WHERE title='$plugin'", + {}, + "
".$help."
"); +} + +print "Finished\n"; -- 2.30.2