/usr/share/dirsrv/updates/81changelog.pl is in 389-ds-base 1.3.7.10-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | use Mozilla::LDAP::Conn;
use DSUpdate qw(isOffline);
# Cleanup local changelog db
# If changelog db exists, run db_checkpoint to flush the transaction logs.
# Then, remove the local region files and transaction logs.
sub runinst {
my ($inf, $inst, $dseldif, $conn) = @_;
my @errs, $rc;
my $config = "cn=changelog5,cn=config";
my $config_entry = $conn->search($config, "base", "(cn=*)");
if (!$config_entry) {
# cn=changelog5 does not exist; not a master.
return ();
}
# First, check if the server is up or down.
($rc, @errs) = isOffline($inf, $inst, $conn);
if (!$rc) {
return @errs;
}
my $changelogdir = $config_entry->getValues('nsslapd-changelogdir');
# Run db_checkpoint
system("/usr/bin/db_checkpoint -h $changelogdir -1");
# Remove old db region files and transaction logs
system("rm -f $changelogdir/__db.*");
system("rm -f $changelogdir/log.*");
system("rm -f $changelogdir/guardian");
return ();
}
|