#!/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";