my $pidfile_written = undef;
my $dbh;
+my $testmode = 0;
+
my $postalias = '/usr/sbin/postalias';
my $postmap = '/usr/sbin/postmap';
GetOptions(
"verbose+" => \$verbose,
+ "testmode|test|t" => \$testmode,
"conf-file|conf|c=s" => \$cfg_file,
);
fatal( "Verzeichnis '$postfix_dir' existiert nicht." );
}
+debug( 0, 'TESTMODUS - es werden keine scharfen Aktionen durchgeführt.' ) if $testmode;
+
fatal( "Datei '$cfg_file' existiert nicht." ) unless -f $cfg_file;
my $config = read_config($cfg_file);
perform_lookup($l);
}
+if ( $do_postfix_reload ) {
+
+ my $cmd = $binary->{'postfix'};
+ my @Args = ( $cmd, "reload" );
+
+ debug( 1, 'Führe Kommando aus: ', join( " ", @Args ) );
+ unless ( $testmode ) {
+ unless ( system(@Args) == 0 ) {
+ fatal( "Fehler beim Ausführen von '" . join( ' ', @Args ) . "'." );
+ }
+ }
+
+}
+
exit 0;
#--------------------------------------------------------------------------------------
debug( 0, "Aktualisiere Lookup-Tabelle '" . $lookup . "'." );
debug( 1, "Kopiere '" . $new_file . "' nach '" . $cur_file . "' ..." );
- copy $new_file, $cur_file;
+ copy $new_file, $cur_file unless $testmode;
debug( 1, "Kopiere '" . $new_file . "' als Backup nach '" . $backup_file . "' ..." );
- copy $new_file, $backup_file;
+ copy $new_file, $backup_file unless $testmode;
if ( $type eq 'btree' or $type eq 'dbm' or $type eq 'hash' ) {
my $cmd = $map_type eq 'aliases' ? $binary->{'postalias'} : $binary->{'postmap'};
my @Args = ( $cmd, $type . ":" . $cur_file );
debug( 1, 'Führe Kommando aus: ', join( " ", @Args ) );
- unless ( system(@Args) == 0 ) {
- fatal( "Fehler beim Ausführen von '" . join( ' ', @Args ) . "'." );
+ unless ( $testmode ) {
+ unless ( system(@Args) == 0 ) {
+ fatal( "Fehler beim Ausführen von '" . join( ' ', @Args ) . "'." );
+ }
}
}
else {