From d9ac73473d352f8ff2e930dd00b8232412e839d5 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Fri, 18 Dec 2020 14:19:02 +0100 Subject: [PATCH] Update README and comments --- README.md | 68 +++++++++++++++++++++++------------------ check_syncrepl_extended | 12 +++----- 2 files changed, 43 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 8d0f4bb..b378959 100644 --- a/README.md +++ b/README.md @@ -25,18 +25,26 @@ A single couple of DN and password able to connect to both server and without re Usage ----- ``` -Usage: check_syncrepl_extended [options] +usage: check_syncrepl_extended [-h] [-v] [-p PROVIDER] [-c CONSUMER] + [-i SERVERID] [-T] [-D DN] [-P PWD] [-b BASEDN] + [-f FILTERSTR] [-d] [-n] [-q] + [--no-check-certificate] + [--no-check-contextCSN] [-a] + [--exclude-attributes EXCL_ATTRS] + [--touch TOUCH] [--replace-touch] + [--remove-touch-value] [--page-size PAGE_SIZE] -Options: - --version show program's version number and exit +Script to check LDAP syncrepl replication state between two servers. + +optional arguments: -h, --help show this help message and exit - -p PROVIDER, --provider=PROVIDER - LDAP provider URI (example : + -v, --version show program's version number and exit + -p PROVIDER, --provider PROVIDER + LDAP provider URI (example: ldaps://ldapmaster.foo:636) - -c CONSUMER, --consumer=CONSUMER - LDAP consumer URI (example : - ldaps://ldapslave.foo:636) - -i SERVERID, --serverID=SERVERID + -c CONSUMER, --consumer CONSUMER + LDAP consumer URI (example: ldaps://ldapslave.foo:636) + -i SERVERID, --serverID SERVERID Compare contextCSN of a specific master. Useful in MultiMaster setups where each master has a unique ID and a contextCSN for each replicated master exists. A @@ -44,34 +52,37 @@ Options: (limited to 3 hex digits, example: '12' compares the contextCSN matching '#00C#') -T, --starttls Start TLS on LDAP provider/consumers connections - -D DN, --dn=DN LDAP bind DN (example : + -D DN, --dn DN LDAP bind DN (example: uid=nagios,ou=sysaccounts,o=example - -P PWD, --pwd=PWD LDAP bind password - -b BASEDN, --basedn=BASEDN - LDAP base DN (example : o=example) - -f FILTER, --filter=FILTER - LDAP filter (default : (objectClass=*)) + -P PWD, --pwd PWD LDAP bind password + -b BASEDN, --basedn BASEDN + LDAP base DN (example: o=example) + -f FILTERSTR, --filter FILTERSTR + LDAP filter (default: (objectClass=*)) -d, --debug Debug mode -n, --nagios Nagios check plugin mode -q, --quiet Quiet mode --no-check-certificate - Don't check the server certificate (Default : False) + Don't check the server certificate (Default: False) --no-check-contextCSN - Don't check servers contextCSN (Default : False) - -a, --attributes Check attributes values (Default : check only - entryCSN) - --exclude-attributes=EXCL_ATTRS + Don't check servers contextCSN (Default: False) + -a, --attributes Check attributes values (Default: check only entryCSN) + --exclude-attributes EXCL_ATTRS Don't check this attribut (only in attribute check mode) - --touch=TOUCH Touch attribute giving in parameter to force resync a - this LDAP object from provider. A value '%%TOUCH%%' - will be add to this attribute and remove after. The - user use to connect to the LDAP directory must have - write permission on this attribute on each object. + --touch TOUCH Touch attribute giving in parameter to force resync a + this LDAP object from provider. A value '%TOUCH%' will + be add to this attribute and remove after. The user + use to connect to the LDAP directory must have write + permission on this attribute on each object. --replace-touch In touch mode, replace value instead of adding. - --page-size=PAGE_SIZE - Page size : if defined, paging control using LDAP v3 + --remove-touch-value In touch mode, remove touch value if present. + --page-size PAGE_SIZE + Page size: if defined, paging control using LDAP v3 extended control will be enabled. + +Author: Benjamin Renard , Source: +https://gogs.zionetrix.net/bn8/check_syncrepl_extended ``` Copyright @@ -82,9 +93,8 @@ Copyright (c) 2017 Benjamin Renard License ------- -This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - diff --git a/check_syncrepl_extended b/check_syncrepl_extended index 11f12ea..78a16ac 100755 --- a/check_syncrepl_extended +++ b/check_syncrepl_extended @@ -31,8 +31,7 @@ # and without restriction to retrieve objects from servers. # # Author: Benjamin Renard -# Date: Mon, 10 Dec 2012 18:04:24 +0100 -# Source: http://git.zionetrix.net/check_syncrepl_extended +# Source: https://gogs.zionetrix.net/bn8/check_syncrepl_extended # import argparse @@ -49,12 +48,9 @@ import ldap.modlist as modlist TOUCH_VALUE = '%%TOUCH%%' parser = argparse.ArgumentParser( - version="""%prog version 1.1 - -Date: Fri, 18 Dec 2020 10:48:45 +0100 -Author: Benjamin Renard -Source: https://gogs.zionetrix.net/bn8/check_syncrepl_extended -""" + version="%prog version 1.1", + description="Script to check LDAP syncrepl replication state between two servers.", + epilog="Author: Benjamin Renard , Source: https://gogs.zionetrix.net/bn8/check_syncrepl_extended" ) parser.add_argument(