On 5/31/19 8:20 AM, Rob Crittenden wrote:
Dirk Streubel via FreeIPA-users wrote:
> Hello,
>
> have a little Problem with a full backup of my IPA Server.
> The command : ipa-backup -d, doesn't work, the output is this:
>
> papython.ipautil: DEBUG: stderr=ipa: INFO: The ipactl command was successful
>
> ipaserver.install.ipa_backup: INFO: Backing up ipaca in LINUXTEST-INTRANET-FRITZ-DE
to LDIF
> ipapython.ipautil: DEBUG: Starting external process
> ipapython.ipautil: DEBUG: args=['/usr/sbin/db2ldif', '-Z',
'LINUXTEST-INTRANET-FRITZ-DE', '-r', '-n', 'ipaca',
'-a',
'/var/lib/dirsrv/slapd-LINUXTEST-INTRANET-FRITZ-DE/ldif/LINUXTEST-INTRANET-FRITZ-DE-ipaca.ldif']
> ipapython.ipautil: DEBUG: Process finished, return code=1
> ipapython.ipautil: DEBUG: stdout=Usage: db2ldif [-Z serverID] {-n backend_instance}*
| {-s includesuffix}* [{-x excludesuffix}*] [-a outputfile]
> [-E] [-r] [-u] [-U] [-m] [-1] [-q] [-V] [-v] [-h]
> Note: either "-n backend" or "-s includesuffix" is required.
> Options:
> -Z serverID - Server instance identifier
> -n backend - Backend database name. Example: userRoot
> -s inclduesuffix - Suffix to include
> -x - Suffix to exclude
> -a outputfile - Name of the exported LDIF file
> -r - Include replication data
> -E - Decrypt attributes
> -u - Do not export the nsUniqueId attribute
> -U - Do not wrap long lines
> -m - Do not base64 encode values
> -1 - Do not include version text
> -q - Quiet mode - suppresses output
> -V - Verbose output
> -v - Display version
> -h - Display usage
> You must supply a valid server instance identifier. Use -Z to specify instance name
> Available instances: <none>
>
> ipapython.ipautil: DEBUG: stderr=
> ipaserver.install.ipa_backup: CRITICAL: db2ldif failed:
> ipapython.admintool: DEBUG: File
"/usr/lib/python3.7/site-packages/ipapython/admintool.py", line 179, in execute
> return_value = self.run()
> File "/usr/lib/python3.7/site-packages/ipaserver/install/ipa_backup.py",
line 329, in run
> self.db2ldif(instance, 'ipaca', online=options.online)
> File "/usr/lib/python3.7/site-packages/ipaserver/install/ipa_backup.py",
line 461, in db2ldif
> shutil.move(ldiffile, os.path.join(self.dir, ldifname))
> File "/usr/lib64/python3.7/shutil.py", line 577, in move
> copy_function(src, real_dst)
> File "/usr/lib64/python3.7/shutil.py", line 263, in copy2
> copyfile(src, dst, follow_symlinks=follow_symlinks)
> File "/usr/lib64/python3.7/shutil.py", line 120, in copyfile
> with open(src, 'rb') as fsrc:
>
> ipapython.admintool: DEBUG: The ipa-backup command failed, exception:
FileNotFoundError: [Errno 2] No such file or directory:
'/var/lib/dirsrv/slapd-LINUXTEST-INTRANET-FRITZ-DE/ldif/LINUXTEST-INTRANET-FRITZ-DE-ipaca.ldif'
> ipapython.admintool: ERROR: [Errno 2] No such file or directory:
'/var/lib/dirsrv/slapd-LINUXTEST-INTRANET-FRITZ-DE/ldif/LINUXTEST-INTRANET-FRITZ-DE-ipaca.ldif'
> ipapython.admintool: ERROR: The ipa-backup command failed. See /var/log/ipabackup.log
for more information
> [root@ipaserver1 ipa-data-2019-05-31-10-23-30]# man ipa-backup
>
> I have tested the command in two different machines, the result and the error log is
the same, ipa-backup --data --online works fine.
> Did i miss a subcommand for an fully backup or where is my fault?
>
> My OS is Fedora Rawhide with the last IPA Version.
Knowing the exact versions makes reproduction easier.
What are the versions of freeipa-server and 389-ds-base installed?
The usage looks ok to me. I wonder if db2ldif changed recently. Mark,
Thierry, what do you think?
db2ldif has not changed in a long time, but what version of 389-ds-base
is this?
According to the output the script is not finding any server instances:
/usr/sbin/db2ldif -Z LINUXTEST-INTRANET-FRITZ-DE
...
You must supply a valid server instance identifier. Use -Z to specify instance name
Available instances: <none>
It finds the local instances by looking under /etc/sysconfig for
dirsrv-INSTANCE. In newer versions of DS (1.4.x) I believe we stopped
writing instance information to /etc/sysconfig so that would break the
legacy tools - and I just verified that the legacy tools no longer work
in Master branch (I get the same errors). If they are using 1.4.x then
"dsctl db2ldif" could work, but looks like this is coming from IPA CLI
which still uses the legacy tools.
I opened
https://pagure.io/389-ds-base/issue/50417 to fix the legacy
tools in 389-ds-base-1.4.x
Regards,
Mark
>
> rob