From e31057e2e9d724272c937e2bd082b52ed5cf3fa3 Mon Sep 17 00:00:00 2001 From: Simon Pichugin Date: Jan 10 2019 23:39:37 +0000 Subject: Issue 50145 - Add a verbose option to the backup tools Bug description: RHDS 9 does not require a -q option to not log debugging messages. -q also suppresses the output that had been included before when doing an import. Fix description: Make -q option less verbose by removing error log messages and add -V option which enables Verbose DEBUG output. https://pagure.io/389-ds-base/issue/50145 Reviewed by: mreynolds (Thanks!) --- diff --git a/ldap/admin/src/scripts/bak2db.in b/ldap/admin/src/scripts/bak2db.in index 5ab4546..149229f 100755 --- a/ldap/admin/src/scripts/bak2db.in +++ b/ldap/admin/src/scripts/bak2db.in @@ -13,12 +13,13 @@ export SHLIB_PATH usage() { - echo "Usage: bak2db archivedir [-Z serverID] [-q] [-h]" + echo "Usage: bak2db archivedir [-Z serverID] [-q] [-V] [-h]" echo "Options:" echo " archivedir - Directory where the archived backup is located" echo " -Z serverID - Server instance identifier" echo " -q - Quiet mode - suppresses output" - echo " -h - Display usage" + echo " -V - Verbose output" + echo " -h - Display usage" } if [ $# -lt 1 ] || [ $# -gt 7 ] @@ -37,13 +38,14 @@ case $1 in ;; esac -while getopts "hn:Z:qd:vi:a:SD:" flag +while getopts "hn:Z:qVd:vi:a:SD:" flag do case $flag in h) usage exit 0;; Z) servid=$OPTARG;; q) args=$args" -q";; + V) args=$args" -V";; d) args=$args" -d \"$OPTARG\"";; v) args=$args" -v";; D) args=$args" -D \"$OPTARG\"";; diff --git a/ldap/admin/src/scripts/db2bak.in b/ldap/admin/src/scripts/db2bak.in index a13d2e2..a02484a 100755 --- a/ldap/admin/src/scripts/db2bak.in +++ b/ldap/admin/src/scripts/db2bak.in @@ -13,11 +13,12 @@ export SHLIB_PATH usage() { - echo "Usage: db2bak [archivedir] [-Z serverID] [-q] [-v] [-h]" + echo "Usage: db2bak [archivedir] [-Z serverID] [-q] [-V] [-v] [-h]" echo "Options:" echo " archivedir - Directory where the backup should be stored" echo " -Z serverID - Server instance identifier" echo " -q - Quiet mode - suppresses output" + echo " -V - Verbose output" echo " -v - Display version" echo " -h - Display usage" } @@ -36,12 +37,13 @@ then fi fi -while getopts "hqd:Z:vi:a:SD" flag +while getopts "hqVd:Z:vi:a:SD" flag do case $flag in h) usage exit 0;; q) args=$args" -q";; + V) args=$args" -V";; v) args=$args" -v";; S) args=$args" -S";; D) args=$args" -D \"$OPTARG\"";; diff --git a/ldap/admin/src/scripts/db2ldif.in b/ldap/admin/src/scripts/db2ldif.in index 95d2754..fb94483 100755 --- a/ldap/admin/src/scripts/db2ldif.in +++ b/ldap/admin/src/scripts/db2ldif.in @@ -16,7 +16,7 @@ cwd=`pwd` usage() { echo "Usage: db2ldif [-Z serverID] {-n backend_instance}* | {-s includesuffix}* [{-x excludesuffix}*] [-a outputfile]" - echo " [-E] [-r] [-u] [-U] [-m] [-1] [-q] [-v] [-h]" + echo " [-E] [-r] [-u] [-U] [-m] [-1] [-q] [-V] [-v] [-h]" echo "Note: either \"-n backend\" or \"-s includesuffix\" is required." echo "Options:" echo " -Z serverID - Server instance identifier" @@ -31,6 +31,7 @@ usage() echo " -m - Do not base64 encode values" echo " -1 - Do not include version text" echo " -q - Quiet mode - suppresses output" + echo " -V - Verbose output" echo " -v - Display version" echo " -h - Display usage" } @@ -99,7 +100,7 @@ then exit 1 fi -while getopts "hZ:vd:D:ENa:rs:x:CSut:n:UmMo1qc:" flag +while getopts "hZ:vd:D:ENa:rs:x:CSut:n:UmMo1qVc:" flag do case $flag in h) usage @@ -125,6 +126,7 @@ do M) args=$args" -M";; 1) args=$args" -1";; q) args=$args" -q";; + V) args=$args" -V";; c) cwd=$OPTARG;; ?) usage exit 1;; diff --git a/ldap/admin/src/scripts/ldif2db.in b/ldap/admin/src/scripts/ldif2db.in index 20c7d46..06a1192 100755 --- a/ldap/admin/src/scripts/ldif2db.in +++ b/ldap/admin/src/scripts/ldif2db.in @@ -14,7 +14,7 @@ export SHLIB_PATH usage() { echo "Usage: ldif2db [-Z serverID] -n backendname {-s includesuffix}* [{-x excludesuffix}*] {-i ldiffile}*" - echo " [-c chunksize] [-g [string]] [-G namespace_id] [-O] [-E] [-q] [-v] [-h]" + echo " [-c chunksize] [-g [string]] [-G namespace_id] [-O] [-E] [-q] [-V] [-v] [-h]" echo "Note: either \"-n backend\", \"-s includesuffix\", and \"-i ldiffile\" are required." echo "Options:" echo " -Z serverID - The server instance identifier" @@ -31,6 +31,7 @@ usage() echo " -O - Do not index the attributes" echo " -E - Encrypt attributes" echo " -q - Quiet mode - suppresses output" + echo " -V - Verbose output" echo " -v - Display version" echo " -h - Display usage" } @@ -53,7 +54,7 @@ handleopts() return 0 } -while getopts "Z:vhd:i:g:G:n:s:x:NOCc:St:D:Eq" flag +while getopts "Z:vhd:i:g:G:n:s:x:NOCc:St:D:EqV" flag do case $flag in h) usage @@ -76,6 +77,7 @@ do S) args=$args" -S";; O) args=$args" -O";; q) args=$args" -q";; + V) args=$args" -V";; ?) usage exit 1;; esac diff --git a/ldap/servers/slapd/main.c b/ldap/servers/slapd/main.c index d754c0f..185ba90 100644 --- a/ldap/servers/slapd/main.c +++ b/ldap/servers/slapd/main.c @@ -95,6 +95,7 @@ struct main_config int upgradedb_flags; int upgradednformat_dryrun; int is_quiet; + int backuptools_verbose; int dbverify_verbose; char *dbverify_dbdir; }; @@ -1299,7 +1300,7 @@ process_command_line(int argc, char **argv, struct main_config *mcfg) * */ - char *opts_db2ldif = "vd:D:ENa:rs:x:CSut:n:UmMo1q"; + char *opts_db2ldif = "vd:D:ENa:rs:x:CSut:n:UmMo1qV"; struct opt_ext long_options_db2ldif[] = { {"version", ArgNone, 'v'}, {"debug", ArgRequired, 'd'}, @@ -1319,9 +1320,10 @@ process_command_line(int argc, char **argv, struct main_config *mcfg) {"multipleOutputFile", ArgNone, 'M'}, {"noVersionNum", ArgNone, '1'}, {"quiet", ArgNone, 'q'}, + {"verbose", ArgNone, 'V'}, {0, 0, 0}}; - char *opts_ldif2db = "vd:i:g:G:n:s:x:NOCc:St:D:Eq"; + char *opts_ldif2db = "vd:i:g:G:n:s:x:NOCc:St:D:EqV"; struct opt_ext long_options_ldif2db[] = { {"version", ArgNone, 'v'}, {"debug", ArgRequired, 'd'}, @@ -1339,9 +1341,10 @@ process_command_line(int argc, char **argv, struct main_config *mcfg) {"configDir", ArgRequired, 'D'}, {"encrypt", ArgOptional, 'E'}, {"quiet", ArgNone, 'q'}, + {"verbose", ArgNone, 'V'}, {0, 0, 0}}; - char *opts_archive2db = "vd:i:a:n:SD:q"; + char *opts_archive2db = "vd:i:a:n:SD:qV"; struct opt_ext long_options_archive2db[] = { {"version", ArgNone, 'v'}, {"debug", ArgRequired, 'd'}, @@ -1351,10 +1354,11 @@ process_command_line(int argc, char **argv, struct main_config *mcfg) {"allowMultipleProcesses", ArgNone, 'S'}, {"configDir", ArgRequired, 'D'}, {"quiet", ArgNone, 'q'}, + {"verbose", ArgNone, 'V'}, {0, 0, 0}}; - char *opts_db2archive = "vd:i:a:SD:q"; + char *opts_db2archive = "vd:i:a:SD:qV"; struct opt_ext long_options_db2archive[] = { {"version", ArgNone, 'v'}, {"debug", ArgRequired, 'd'}, @@ -1363,6 +1367,7 @@ process_command_line(int argc, char **argv, struct main_config *mcfg) {"allowMultipleProcesses", ArgNone, 'S'}, {"configDir", ArgRequired, 'D'}, {"quiet", ArgNone, 'q'}, + {"verbose", ArgNone, 'V'}, {0, 0, 0}}; char *opts_db2index = "vd:a:t:T:SD:n:s:x:"; @@ -1764,9 +1769,14 @@ process_command_line(int argc, char **argv, struct main_config *mcfg) exit(1); break; - case 'V': + case 'V': /* verbose option for dbverify, db2ldif, ldif2db, db2bak, bak2db */ if (mcfg->slapd_exemode == SLAPD_EXEMODE_DBVERIFY) { mcfg->dbverify_verbose = 1; + } else if (mcfg->slapd_exemode == SLAPD_EXEMODE_LDIF2DB || + mcfg->slapd_exemode == SLAPD_EXEMODE_DB2LDIF || + mcfg->slapd_exemode == SLAPD_EXEMODE_ARCHIVE2DB || + mcfg->slapd_exemode == SLAPD_EXEMODE_DB2ARCHIVE) { + mcfg->backuptools_verbose = 1; } else { mcfg->slapd_exemode = SLAPD_EXEMODE_PRINTVERSION; } @@ -2151,7 +2161,7 @@ slapd_exemode_ldif2db(struct main_config *mcfg) plugin->plg_name); return 1; } - if (!mcfg->is_quiet) { + if (mcfg->backuptools_verbose) { slapd_ldap_debug |= LDAP_DEBUG_BACKLDBM; } if (!(slapd_ldap_debug & LDAP_DEBUG_BACKLDBM)) { @@ -2274,7 +2284,7 @@ slapd_exemode_db2ldif(int argc, char **argv, struct main_config *mcfg) return 1; } - if (!mcfg->is_quiet) { + if (mcfg->backuptools_verbose) { slapd_ldap_debug |= LDAP_DEBUG_BACKLDBM; } if (!(slapd_ldap_debug & LDAP_DEBUG_BACKLDBM)) { @@ -2530,7 +2540,7 @@ slapd_exemode_db2archive(struct main_config *mcfg) return 1; } - if (!mcfg->is_quiet) { + if (mcfg->backuptools_verbose) { slapd_ldap_debug |= LDAP_DEBUG_BACKLDBM; } if (!(slapd_ldap_debug & LDAP_DEBUG_BACKLDBM)) { @@ -2577,7 +2587,7 @@ slapd_exemode_archive2db(struct main_config *mcfg) return 1; } - if (!mcfg->is_quiet) { + if (mcfg->backuptools_verbose) { slapd_ldap_debug |= LDAP_DEBUG_BACKLDBM; } if (!(slapd_ldap_debug & LDAP_DEBUG_BACKLDBM)) {