summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorTon Voon <tonvoon@users.sourceforge.net>2007-10-25 20:43:04 +0000
committerTon Voon <tonvoon@users.sourceforge.net>2007-10-25 20:43:04 +0000
commitcf0dee616af1f417daa76e746dfaa50947009fac (patch)
tree58e5ae5ef39f76bce53c7b09a49dfbaf0324cfac /tools
parent745b58a68bf2e60a6652475c56a1cff0aa6ebf9f (diff)
downloadmonitoring-plugins-cf0dee616af1f417daa76e746dfaa50947009fac.tar.gz
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
Diffstat (limited to 'tools')
-rwxr-xr-xtools/sync_website44
1 files changed, 44 insertions, 0 deletions
diff --git a/tools/sync_website b/tools/sync_website
new file mode 100755
index 00000000..8489bc54
--- /dev/null
+++ b/tools/sync_website
@@ -0,0 +1,44 @@
1#!/usr/bin/perl
2use strict;
3use DBI;
4#$ENV{PERL5LIB}="plugins-scripts"; # Needed for utils.pm
5
6unless ($ENV{DRUPAL_PASSWORD}) {
7 die "Must set envvar for DRUPAL_PASSWORD";
8}
9
10my $pid = open(F, "-|", qw(ssh -n -N -L 25555:127.0.0.1:3306 nagiosplugins.org));
11
12# Allow time for ssh tunnel to be created
13sleep 2;
14
15# To stop the death of ssh tunnel being defunct
16$SIG{CHLD} = 'IGNORE';
17
18END { kill 'INT', $pid if $pid };
19
20my $dbh = DBI->connect("DBI:mysql:database=drupal;host=127.0.0.1;port=25555", "drupal", $ENV{DRUPAL_PASSWORD});
21
22my @plugin_paths;
23push @plugin_paths, (grep { -x $_ && -f $_ } (<plugins-root/*>, <plugins/*>) );
24
25foreach my $plugin_path (@plugin_paths) {
26 my $plugin = $plugin_path;
27 $plugin =~ s%.*/%%;
28 my $help_option = "--help";
29 $help_option = "-h" if ($plugin eq "check_icmp");
30 my $help = `$plugin_path $help_option` || die "Cannot run $plugin -h";
31 $help =~ s/</&lt;/g;
32 $help =~ s/>/&gt;/g;
33
34 my $rows = $dbh->do("UPDATE node SET created=UNIX_TIMESTAMP(NOW()) WHERE title='$plugin'");
35 unless ($rows == 1) {
36 die "Cannot find $plugin in drupal to update - create book page first";
37 }
38
39 $dbh->do("UPDATE node_revisions SET timestamp=UNIX_TIMESTAMP(NOW()), log='Updated by update_online_manpage', teaser='$plugin --help', body=? WHERE title='$plugin'",
40 {},
41 "<pre>".$help."</pre>");
42}
43
44print "Finished\n";