Date: Tue, 18 Oct 2016 15:17:07 +0100 From: Paul Macdonald <paul@ifdnrg.com> To: freebsd-questions@freebsd.org Subject: Re: pw add user slow Message-ID: <b0a231f1-dcf4-a59e-8870-ea417a49685d@ifdnrg.com> In-Reply-To: <20161018140531.GA1080@lime.woodcruft.co.uk> References: <fd1e578c-58ef-5098-9d89-c3db814d7af4@ifdnrg.com> <20161018074415.0f6575675db30d0b83d9b8ec@sohara.org> <60719.69.209.239.247.1476794773.squirrel@cosmo.uchicago.edu> <20161018140531.GA1080@lime.woodcruft.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On 18/10/2016 15:05, Frank Shute wrote: > On Tue, Oct 18, 2016 at 07:46:13AM -0500, Valeri Galtsev wrote: >> >> On Tue, October 18, 2016 1:44 am, Steve O'Hara-Smith wrote: >>> On Mon, 17 Oct 2016 23:36:33 +0100 >>> Paul Macdonald <paul@ifdnrg.com> wrote: >>> >>>> Hi, >>>> >>>> I have to migrate an imap server, which uses about 6000 local accounts >>>> for mail delivery >>>> >>>> I'm using a script that creates system acounts using: >>>> >>>> /usr/sbin/pw adduser $LOCAL_USER -u$UID-gGID-d $PATH -s/bin/false >>>> >>>> I'm finding this grows ever more slow, up to 10 seconds per account on a >>>> SATA box , and on a test SSD box ( 20 acc's per second initially) even >>>> that slows to about 1 account created per second. >>>> >>>> why does this slow down as more accounts are added? >>> Because for each one it updates text files (passwd and >>> master.passwd) and regenerates databases (pwd.db and spwd.db) from the >>> text >>> files. The fastest way to do this sort of thing is to directly update >>> passwd and master.passwd and then run pwd_mkdb. >> It appears to be sufficient to only edit master.passwd; pwd_mkdb will >> re-generate passwd file from master.passwd. >> > There's a tool for that: vipw(8) > > It uses $EDITOR if set, vi as default. > > If using vi/vim then fire up vipw and: > > :r!myscript > > will stick stdout from myscript into the buffer where the cursor is. Then: > > :wq > > and vipw will write it if it's conformant and then call pwd_mkdb to do it's > business. > > The OP will also have to edit /etc/group to add his users to the appropriate > group(s). > > Doesn't the imap server have an option for using a relational database rather > than filling passwd up? I'd go for that option if it does. > > > Regards, > manually writing to the master passwd and running pwd_mkdb was a lot quicker, thanks at 10 seconds per account, 6500 would take a long time... (16hrs!) the system accounts are for sendmail delivery to mailboxes, possibly a good time to take a look at exim/postfix. thanks Paul -- ------------------------- Paul Macdonald IFDNRG Ltd Web and video hosting ------------------------- t: 0131 5548070 m: 07970339546 e: paul@ifdnrg.com w: http://www.ifdnrg.com ------------------------- IFDNRG 40 Maritime Street Edinburgh EH6 6SA ---------------------------------------------------- Virtual Servers from £50.00pm High specification Dedicated Servers from £150.00pm ----------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b0a231f1-dcf4-a59e-8870-ea417a49685d>