[Fedora-directory-users] Re: Total number of LDAP entries
Ryan Braun [ADS]
ryan.braun at ec.gc.ca
Tue Mar 10 18:04:20 UTC 2009
On Tuesday 10 March 2009 17:38:33 Branimir wrote:
> David Boreham wrote:
> > Branimir wrote:
> >> well, I know that I can perform search and count them. I hoped that
> >> there is some shell command implemented in FDS that could provide this
> >> number. I administer commercial LDAP solution that provides such
> >> command. In my case this commercial solution charges per directory
> >> entry so I always have to know entry count. I was hoping FDC has some
> >> kind of equivalent command.
> >
> > Pipe the search output through grep and wc to count the entries returned.
>
> Thanks David. I am familiar with UNIX basics :). As I said before, I was
> hoping there is some simple command for this, nothing more.
>
> Cheers,
>
> Branimir
>
Here's an easy perl script you can run, it will do a sub search on a given suffex and output the total entries returned.
Ryan
#!/usr/bin/perl
use strict;
use Net::LDAP;
my $bind_dn = "cn=directory manager";
my $bind_pw = "password";
my @servers = qw(server1.com server2.com);
my $base_dn = "cn=config";
foreach my $server (@servers) {
my $ldap = Net::LDAP->new($server, port => '389', timeout=>10);
if ( ! $ldap )
{
# return 0 here for a failed attempt
print "failed to connect to $server\n";
return 0;
}
my $msg = $ldap->bind ( $bind_dn,password => $bind_pw ,version => 3 );
if ($msg->code) {
# print error message here because we have access to the $msg object
print "\t$server\t\t\tFAILURE " . $msg->code . " error text is " . $msg->error_name . "\n";
return 0;
}
$msg = $ldap->search(filter=>"objectClass=*", base=>$base_dn,scope => 'sub' );
print "Found " . $msg->entries . " total entries in $base_dn on $server\n";
}
More information about the Fedora-directory-users
mailing list