projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
a payment, by any other name
[freeside.git]
/
bin
/
apache.export
diff --git
a/bin/apache.export
b/bin/apache.export
index
f0a6bee
..
d1ee9e7
100755
(executable)
--- a/
bin/apache.export
+++ b/
bin/apache.export
@@
-1,6
+1,7
@@
#!/usr/bin/perl -w
use strict;
#!/usr/bin/perl -w
use strict;
+use Getopt::Std;
#use File::Path;
use File::Rsync;
use Net::SSH qw(ssh);
#use File::Path;
use File::Rsync;
use Net::SSH qw(ssh);
@@
-10,6
+11,9
@@
use FS::part_export;
use FS::cust_svc;
use FS::svc_www;
use FS::cust_svc;
use FS::svc_www;
+use vars qw(%opt);
+getopts("d", \%opt);
+
my $user = shift or die &usage;
adminsuidsetup $user;
my $user = shift or die &usage;
adminsuidsetup $user;
@@
-29,6
+33,9
@@
foreach my $export ( @exports ) {
my $machine = $export->machine;
my $file = "$spooldir/$machine.conf";
my $machine = $export->machine;
my $file = "$spooldir/$machine.conf";
+ warn "exporting apache configuration for $machine to $file\n"
+ if $opt{d};
+
open(HTTPD_CONF,">$file") or die "can't open $file: $!";
my $template = $export->option('template');
open(HTTPD_CONF,">$file") or die "can't open $file: $!";
my $template = $export->option('template');
@@
-36,22
+43,37
@@
foreach my $export ( @exports ) {
my @svc_www = $export->svc_x;
foreach my $svc_www ( @svc_www ) {
my @svc_www = $export->svc_x;
foreach my $svc_www ( @svc_www ) {
- use vars qw($zone $username);
+ use vars qw($zone $username
$dir $email $config
);
$zone = $svc_www->domain_record->zone;
$username = $svc_www->svc_acct->username;
$zone = $svc_www->domain_record->zone;
$username = $svc_www->svc_acct->username;
+ $dir = $svc_www->svc_acct->dir;
+ $email = $svc_www->svc_acct->email;
+ $config = $svc_www->config;
+
+ warn " adding configuration section for $zone\n"
+ if $opt{d};
+
print HTTPD_CONF eval(qq("$template")). "\n\n";
}
my $user = $export->option('user');
my $httpd_conf = $export->option('httpd_conf');
print HTTPD_CONF eval(qq("$template")). "\n\n";
}
my $user = $export->option('user');
my $httpd_conf = $export->option('httpd_conf');
+ warn "syncing $file to $httpd_conf on $machine\n"
+ if $opt{d};
+
$rsync->exec( {
src => $file,
dest => "$user\@$machine:$httpd_conf",
} ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
# warn $rsync->out;
$rsync->exec( {
src => $file,
dest => "$user\@$machine:$httpd_conf",
} ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
# warn $rsync->out;
- ssh("root\@$machine", 'apachectl graceful');
+ my $restart = $export->option('restart') || 'apachectl graceful';
+
+ warn "running restart command $restart on $machine\n"
+ if $opt{d};
+
+ ssh("root\@$machine", $restart);
}
}
@@
-60,6
+82,6
@@
close HTTPD_CONF;
# -----
sub usage {
# -----
sub usage {
- die "Usage:\n apache.export user\n";
+ die "Usage:\n apache.export
[ -d ]
user\n";
}
}