#!/usr/bin/perl -w use esmith::ConfigDB; my $c = esmith::ConfigDB->open_ro or die "Couldn't open ConfigDB\n"; my $rec = $c->get('samba-db-logd'); my $dbname = $rec->prop('DbName') || 'samba_log'; my $dbuser = $rec->prop('DbUser') || 'samba'; my $dbpass = $rec->prop('DbPassword') || 'samba'; my $dbhost = $rec->prop('DbHost') || 'localhost'; my $log = '/var/log/messages'; if (-e '/var/log/smb_audit.log') { $log = '/var/log/smb_audit.log'; } elsif ($rec->prop('LogFile')){ $log = $rec->prop('LogFile'); } open(STDERR, ">&STDOUT"); my @args = ("--debug=1", "--dbname=$dbname", "--dbuser=$dbuser", "--dbpass=$dbpass", "--exclude=opendir", "--log=$log"); push @args, "--dbhost=$dbhost" if ($dbhost ne 'localhost'); my $smbd = $c->get('smbd')->prop('status'); if ($smbd ne 'enabled'){ exec("sv", "d", "/service/samba-db-logd"); exit(0); } exec("/usr/bin/samba-db-logd", @args) or die "Cannot run the Samba Database Loggind Daemon"; exit(1);