Something like this:
$ ldapsearch -b BASEDN "objectclass=*" | awk '/dn:/ {l=length($0); sub(/dn:/,""); print l $0}' | sort -n | cut ... | ldapdelete ...
Gets a bit nasty but something like that should work.
Hope that helps!
On Fri, Apr 18, 2008 at 5:26 PM, Chun Tat David Chu <beyonddc.storage@xxxxxxxxx> wrote:
Joona,
Do you mind to show me how to sort by DN length? and execute the ldapdelete?
I looked at it a bit but I couldn't figure out.
Thanks!
DavidOn Fri, Apr 18, 2008 at 6:41 AM, J. Hartman <joona.hartman@xxxxxxxxx> wrote:
Hi,
I've done subtree deletion sometimes by sorting based on DN length. Delete longest DNs first and it's certain that they are the leafs. The whole thing can be done in a one-liner.
-JoonaOn Thu, Apr 17, 2008 at 9:32 PM, Chun Tat David Chu <beyonddc.storage@xxxxxxxxx> wrote:Hi group,--
I figured out how to sort in descending order using ldapsearch.
By default, it will always sort in ascending order. If I need to sort in descending then I need to add a "-" prefix before my attribute name. (e.g. -S -createtimestamp).
In addition, I can only get the descending search work only if I specify the sorting to be done by the server by passing the "-x" flag.
I still have the question about what is the best way to delete a hierarchy tree using command line utility provided by Fedora-DS package.
My current plan is to do a ldapsearch with subtree scope and sort the createtimestamp attribute in descending order. Then take the output and run it with ldapdelete.
Thanks!
DavidOn Thu, Apr 17, 2008 at 2:01 PM, Chun Tat David Chu <beyonddc.storage@xxxxxxxxx> wrote:Hi group,
I've a question about deleting the hierarchy tree using the Fedora DS provided command line utilities (e.g. ldapdelete, ldapsearch, ldapmodify and etc).
Originally, I'm using the "ldapdelete" command from the openldapclient package with the "-r" flag to do recursive delete on the hierarchy tree, but I want to know if there's anyway I can achieve the same effect by using command line utilities from the Fedora DS package.
My original thought is to use ldapsearch, set it to return only the "dn" attribute and sorted by "createtimestamp" attribute. Then use the returned result and run the ldapdelete command. Assuming a child entry must have a later "createtimestamp" then parent entry. However, the result returned back from ldapsearch is in ascending order of the "createtimestamp" attribute.
Is there a way to tell the ldapsearch command to sort returned result in descending order? or
Is there a more efficient way to delete a hierarchy tree through command line?
Thanks!
David
Fedora-directory-users mailing list
Fedora-directory-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-users
--
Fedora-directory-users mailing list
Fedora-directory-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-users
--
Fedora-directory-users mailing list
Fedora-directory-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-users
-- Fedora-directory-users mailing list Fedora-directory-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-directory-users