From owner-freebsd-questions Thu Oct 23 02:11:18 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id CAA13097 for questions-outgoing; Thu, 23 Oct 1997 02:11:18 -0700 (PDT) (envelope-from owner-freebsd-questions) Received: from freebie.lemis.com (gregl1.lnk.telstra.net [139.130.136.133]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id CAA13090 for ; Thu, 23 Oct 1997 02:11:14 -0700 (PDT) (envelope-from grog@freebie.lemis.com) Received: (from grog@localhost) by freebie.lemis.com (8.8.7/8.8.5) id SAA00512; Thu, 23 Oct 1997 18:40:59 +0930 (CST) Message-ID: <19971023184059.53521@lemis.com> Date: Thu, 23 Oct 1997 18:40:59 +0930 From: Greg Lehey To: Gordon Henderson Cc: Shawn Ramsey , questions@FreeBSD.ORG Subject: Re: deleted huge directory References: <19971023181950.01356@lemis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.84e In-Reply-To: ; from Gordon Henderson on Thu, Oct 23, 1997 at 10:01:46AM +0100 Organisation: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 WWW-Home-Page: http://www.lemis.com/~grog Fight-Spam-Now: http://www.cauce.org Sender: owner-freebsd-questions@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Thu, Oct 23, 1997 at 10:01:46AM +0100, Gordon Henderson wrote: > On Thu, 23 Oct 1997, Greg Lehey wrote: > >> On Thu, Oct 23, 1997 at 09:39:55AM +0100, Gordon Henderson wrote: >>> On Thu, 23 Oct 1997, Greg Lehey wrote: >>> >>>> On Wed, Oct 22, 1997 at 09:38:52PM -0700, Shawn Ramsey wrote: >>>>> Does anyone have any suggestions for deleting a huge directory? The >>>>> direcory is /var/news/spool/control/cancel. The directory is too large to >>>>> even do a ls. If I try doing ls, it eats up all the avail. RAM(140+mb) and >>>>> hangs. Anyone? I would try a wildcard, but I don't know what the filenames >>>>> are. (This is a very large news server, and this directory has never been >>>>> touch as far as I know.) >>>> >>>> Doesn't rm -rf work? Otherwise you could try >>>> >>>> find dir | xargs rm -rf >>> >>> I do the following to clear this from time to time >>> >>> cd /var/news/spool/control >>> mv cancel cancel.old >>> >>> (then a new one gets created and news keeps on going) >>> >>> cd cancel.old >>> ls -f > /var/tmp/cancel.rm >>> xargs rm -f < /var/tmp/cancel.rm >> >> This is unnecessarily complicated. Together, they're approximately >> the same as what I suggested above. You certainly don't need to store >> the output of ls in a file. > > Find will try to sort the directory first before printing it - I belive > it's the sort that causes the machine to run out of memory. Yes, this is a good point. > And yes, it's probably true that you don't have to store it in a file, but > I always wonder the wisdom of modifying the thing you are reading from! You're not modifying anything. Piping just moves the data from one process to another. Greg