[389-users] How to tell when database backup has finished?

Rich Megginson rmeggins at redhat.com
Wed Apr 11 13:25:51 UTC 2012


On 04/10/2012 11:46 PM, MATON Brett wrote:
>
> Thanks for the suggestions.
>
>   For the record, status 32 was an error on my part, I hadn’t quoted 
> the bind DN so ldapsearch was actually complaining about the bind DN 
> not being found, not the backup task.
>
>   Noriko, I’ve searched “cn=backup,cn=tasks,cn=config” and can’t find 
> nstaskstatus anywhere.  I’m assuming that it also gets deleted once 
> the task is complete...
>
>
> cn=backup,cn=tasks,cn=config is the parent entry for all backup task 
> entries.  When you create an entry under this parent, it starts the 
> backup task.   It is the backup task entry that has the nsTaskStatus 
> attribute, not the parent entry "cn=backup,cn=tasks,cn=config".  When 
> the backup task is complete, and the ttl is expired, the backup task 
> entry is automatically removed.
>
>
> Hi Rich,  I appreciate your clarification.  I did however mean that I 
> was searching “cn=backup,cn=tasks,cn=config” with no additional 
> filters which should have returned everything, nsTaskStatus included 
> for any backup job?
>
> Exactly what search parameters (e.g. ldapsearch command line 
> arguments) did you use?
>
>   I might just be having a dumb moment but I couldn’t think of an 
> efficient way to check the error log for a Backup Finished entry, 
> anyone with suggestions?
>
>
> The best way is to do the ldapsearch as described above.
>
>
>   I’m still having issues, $taskDN for example would be something like 
> cn=backup_2012_4_5_13_36_23, cn=backup, cn=tasks, cn=config
>
>
> COUNT=1
>
> while [ ${COUNT} -ne 0 ]; do
>
> #
>
> #  OOPS:  -b ${taskDN}
>
> #         -b "cn=backup,cn=tasks,cn=config" "cn=<task>"
>
> #
>
>         COUNT=$(ldapsearch -x -H ${HOST} -D "${BINDAS}" -y ${PWFILE} 
> -b "cn=backup,cn=tasks,cn=config" "(${taskDN})" dn | grep -c '^dn')
>
> so this would expand to something like
> COUNT=$(ldapsearch -x -H ldap.example.com -D "cn=directory manager" -y 
> pwfile.txt -b "cn=backup,cn=tasks,cn=config" 
> "(cn=backup_2012_4_5_13_36_23, cn=backup, cn=tasks, cn=config)" dn | 
> grep -c '^dn')
>
> This is incorrect in the following ways:
> 1) the argument to -H must be a valid LDAP URL - so -H 
> ldap://ldap.example.com   $HOST is just a variable name, it’s actually 
> the URL
> 2) "(cn=backup_2012_4_5_13_36_23, cn=backup, cn=tasks, cn=config)" is 
> not a valid LDAP search filter - if you want to search for the backup 
> entry, do one of the following
> a) ldapsearch ... -s base -b "cn=backup_2012_4_5_13_36_23, cn=backup, 
> cn=tasks, cn=config" ...
> or
> b) ldapsearch ... -b "cn=backup, cn=tasks, cn=config" 
> "(cn=backup_2012_4_5_13_36_23)" ...
>
> OK, search terms corrected.
>
> The command expands to and returns this:
>
> ldapsearch -x -H ldaps://<host fqdn>:636 -D "cn=Directory Manager" -y 
> /root/.389ds-pw -s base -b "cn=backup_2012_4_11_7_28_40, cn=backup, 
> cn=tasks, cn=config"
>
> # extended LDIF
>
> #
>
> # LDAPv3
>
> # base <cn=backup_2012_4_11_7_28_40, cn=backup, cn=tasks, cn=config> 
> with scope baseObject
>
> # filter: (objectclass=*)
>
> # requesting: ALL
>
> #
>
> # search result
>
> search: 2
>
> result: 32 No such object
>
> # numResponses: 1
>
>
> I tweaked the db2bak.pl script to include ttl: 600 as I wanted some 
> time to examine the backup task entry and search results:
>
> ...
>
> $dn = "dn: cn=$taskname, cn=backup, cn=tasks, cn=config\n";
>
> $misc = "changetype: add\nobjectclass: top\nobjectclass: 
> extensibleObject\n*ttl: 600\n*";
>
> $cn = "cn: $taskname\n";
> ...
>
> The entry gets added, but still disappears near instantaneously 
> (db2bak.pl called standalone for output):
>
> Back up directory: 
> /var/lib/dirsrv/slapd-<host>/bak/<host>-2012_4_11_7_42_4
>
> ldap_initialize( <DEFAULT> )
>
> add objectclass:
>
>         top
>
>         extensibleObject
>
> add ttl:
>
>         600
>
> add cn:
>
>         backup_2012_4_11_7_42_4
>
> add nsArchiveDir:
>
>         /var/lib/dirsrv/slapd-<host>/bak/<host>-2012_4_11_7_42_4
>
> add nsDatabaseType:
>
>         ldbm database
>
> adding new entry "cn=backup_2012_4_11_7_42_4, cn=backup, cn=tasks, 
> cn=config"
>
> modify complete
>
> As you can see from the ls output below, tar is still being called 
> before the task has completed:
>
> [root@<host> backup]# ls -ltr
>
> -rw-r--r--. 1 root   root     6788 Apr 11 07:28 20120411072840-<host>.tgz
>
> drwx------. 5 nobody nobody   4096 Apr 11 07:28 20120411072840-<host>
>
> Thanks for your time....
>
ok - I'd like you to try two more things:
1) alter your search parameters - do this instead:
ldapsearch -x -H ldaps://<host fqdn>:636 -D "cn=Directory Manager" -y 
/root/.389ds-pw -b "cn=backup, cn=tasks, cn=config"
do you see anything?
2) can you confirm using the errors log (manually, not automated with a 
script) that your backup task was started successfully and completes 
successfully?  Just to be sure that it is indeed being started and 
finishing correctly
>
>         if [ ${COUNT} -ne 0 ]; then
>
>                 sleep 5s
>
>         fi
>
> done
>
> tar czf ${BACKUPPATH}${BKTSTAMP}-${INSTANCE}.tgz -C / ${DSBACKUPDIR#/*}
>
> However the tar file is incomplete, because (assumption) the backup 
> has not finished writing to disk before tar starts....
>
>   For the time being I’ve settled on two scripts, one to start backups 
> and another to archive yesterdays (or older) backups.  Not ideal but 
> workable
>
> Thanks again,
>
> Brett
>
> *From:*389-users-bounces at lists.fedoraproject.org 
> <mailto:389-users-bounces at lists.fedoraproject.org> 
> [mailto:389-users-bounces at lists.fedoraproject.org] *On Behalf Of 
> *Noriko Hosoi
> *Sent:* 05 April 2012 18:40
> *To:* General discussion list for the 389 Directory server project.
> *Subject:* Re: [389-users] How to tell when database backup has finished?
>
> You could search the task.with nstaskstatus attribute.
>
> $ ldapsearch -LLLx -h localhost -p <port> -D 'cn=directory manager' -w 
> <pw> -b "cn=backup,cn=tasks,cn=config" "(cn=backup_*)" nstaskstatus
>
> When the task is done, you'll see the "Backup finished." status:
> dn: cn=backup_2012_4_5_9_35_35,cn=backup,cn=tasks,cn=config
> nstaskstatus: Backup finished.
>
> Another way would be checking the errors log, which logs the end of 
> the back up.
>
>
>
> [05/Apr/2012:09:32:09 -0700] - Backing up file 31 
> (/var/lib/dirsrv/slapd-totoro/bak/totoro-2012_4_5_9_32_8/DBVERSION)
> [05/Apr/2012:09:32:09 -0700] - Backup finished.
>
> Thanks,
> --noriko
> MATON Brett wrote:
>
> Hi guys,
>
> I want to tar up the backup set once a db2bak.pl backup job has finished.
>
> however because it writes an entry to the LDAP and doesn’t wait for 
> the backup to finish I was wondering what the best way to determine 
> when the backup has actually finished?
>
> I was thinking that I could
>
> Ldapsearch at intervals for the backup cn entry, when it’s not there 
> anymore backup has finished
>
> Ro maybe watch the audit log for a delete action on the backup cn entry..
>
> Any thoughts appreciated.
>
> Cheers,
>
> Brett
>
> -------------------------------------------------------------------
>
> *GreeNRB**
> */NRB considers its environmental responsibility and goes for green IT./
> /May we ask you to consider yours before printing this e-mail? /**
>
> *NRB, daring to commit
> */This e-mail and any attachments, which may contain information that 
> is confidential and/or protected by intellectual property rights, are 
> intended for the exclusive use of the above-mentioned addressee(s). 
> Any use (including reproduction, disclosure and whole or partial 
> distribution in any form whatsoever) of their content is prohibited 
> without prior authorization of NRB. If you have received this message 
> by error, please contact the sender promptly by resending this e-mail 
> back to him (her), or by calling the above number. Thank you for 
> subsequently deleting this e-mail and any files attached thereto./
>
>
>
>
>
>
> --
> 389 users mailing list
> 389-users at lists.fedoraproject.org  <mailto:389-users at lists.fedoraproject.org>
> https://admin.fedoraproject.org/mailman/listinfo/389-users
>
> -------------------------------------------------------------------
>
> *GreeNRB**
> */NRB considers its environmental responsibility and goes for green IT./
> /May we ask you to consider yours before printing this e-mail? /**
>
> *NRB, daring to commit
> */This e-mail and any attachments, which may contain information that 
> is confidential and/or protected by intellectual property rights, are 
> intended for the exclusive use of the above-mentioned addressee(s). 
> Any use (including reproduction, disclosure and whole or partial 
> distribution in any form whatsoever) of their content is prohibited 
> without prior authorization of NRB. If you have received this message 
> by error, please contact the sender promptly by resending this e-mail 
> back to him (her), or by calling the above number. Thank you for 
> subsequently deleting this e-mail and any files attached thereto./
>
>
>
>
>
> --
> 389 users mailing list
> 389-users at lists.fedoraproject.org  <mailto:389-users at lists.fedoraproject.org>
> https://admin.fedoraproject.org/mailman/listinfo/389-users
>
> -------------------------------------------------------------------
>
> *GreeNRB**
> */NRB considers its environmental responsibility and goes for green IT./
> /May we ask you to consider yours before printing this e-mail? /**
>
> *NRB, daring to commit
> */This e-mail and any attachments, which may contain information that 
> is confidential and/or protected by intellectual property rights, are 
> intended for the exclusive use of the above-mentioned addressee(s). 
> Any use (including reproduction, disclosure and whole or partial 
> distribution in any form whatsoever) of their content is prohibited 
> without prior authorization of NRB. If you have received this message 
> by error, please contact the sender promptly by resending this e-mail 
> back to him (her), or by calling the above number. Thank you for 
> subsequently deleting this e-mail and any files attached thereto./
>
> -------------------------------------------------------------------
>
> *GreeNRB
> */NRB considers its environmental responsibility and goes for green IT./
> /May we ask you to consider yours before printing this e-mail? /**
>
> *NRB, daring to commit
> */This e-mail and any attachments, which may contain information that 
> is confidential and/or protected by intellectual property rights, are 
> intended for the exclusive use of the above-mentioned addressee(s). 
> Any use (including reproduction, disclosure and whole or partial 
> distribution in any form whatsoever) of their content is prohibited 
> without prior authorization of NRB. If you have received this message 
> by error, please contact the sender promptly by resending this e-mail 
> back to him (her), or by calling the above number. Thank you for 
> subsequently deleting this e-mail and any files attached thereto./
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/389-users/attachments/20120411/8a6186aa/attachment.html>


More information about the 389-users mailing list