diff --git a/root/usr/bin/samba-db-logd b/root/usr/bin/samba-db-logd index 2fe41fd..cd5741f 100755 --- a/root/usr/bin/samba-db-logd +++ b/root/usr/bin/samba-db-logd @@ -15,6 +15,7 @@ $opts{dbhost} = 'localhost'; $opts{dbname} = 'samba_log'; $opts{dbuser} = 'samba'; $opts{dbpass} = 'samba'; +our @exclude = (); # get command line arguments GetOptions( @@ -23,9 +24,12 @@ GetOptions( "dbhost=s" => \$opts{dbhost}, "dbname=s" => \$opts{dbname}, "dbuser=s" => \$opts{dbuser}, - "dbpass=s" => \$opts{dbpass} + "dbpass=s" => \$opts{dbpass}, + "exclude=s" => \@exclude ); +@exclude = split(/,/,join(',',@exclude)); + # Disable output buffering select(STDOUT); $| = 1; @@ -92,6 +96,9 @@ while (defined(my $line=$tail->read)){ my ($username, $client_ip, $client_name, $share, $action, $status, $access_mode, $file_src, $file_dst) = undef; + # Skip logging if listed in --exclude + next if (grep { $action eq $_ } @exclude); + # Oct 12 17:20:24 sme8 smbd[11176]: admin|192.168.7.50|pc10-45|intranet|mkdir|Nouveau dossier if ($line =~ m/^\w+\s\d+\s\d+:\d+:\d+\s\w+\ssmbd\[\d+\]:\s+(\w+)\|(\d+\.\d+\.\d+\.\d+)\|([\w\.]+)\|(\w+)\|(\w+)/){ $username = $1; diff --git a/root/var/service/samba-db-logd/run b/root/var/service/samba-db-logd/run index 54b31fe..6b48c1b 100644 --- a/root/var/service/samba-db-logd/run +++ b/root/var/service/samba-db-logd/run @@ -10,7 +10,7 @@ my $dbhost = $rec->prop('DbHost') || 'localhost'; open(STDERR, ">&STDOUT"); -my @args = ("--debug=1", "--dbname=$dbname", "--dbuser=$dbuser", "--dbpass=$dbpass"); +my @args = ("--debug=1", "--dbname=$dbname", "--dbuser=$dbuser", "--dbpass=$dbpass", "--exclude=opendir"); push @args, "--dbhost=$dbhost" if ($dbhost ne 'localhost');