Xref: utzoo comp.mail.misc:1048 news.sysadmin:771 Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!killer!tness7!tness1!flatline!erict From: erict@flatline.UUCP (j eric townsend) Newsgroups: comp.mail.misc,news.sysadmin Subject: My script for mapfiles/pathalias updating Keywords: pathalias, maps, update, script Message-ID: <957@flatline.UUCP> Date: 25 Jun 88 07:59:58 GMT Organization: a flat near the Montrose, Houston, Tx. Lines: 73 Several people have asked about automating their mapfiles/pathalias stuff. I finally got around to commenting my script for uploading. I run it with a cron entry of: 30 2 * * * /bin/su root -c "/u/bin/demap.sh | mail erict" It has a whole *TWO* debugging status statements. The first states that the script has run (and gives the date/time), the second only gets sent if the pathalias database was updated. I just mail 'em to myself for fun and profit. :-) Here it is: (Shar? Who needs a shar?) # History: # demap.sh 7Jun88 JET -- wrote initial script # 20Jun88 JET -- fixed the stupid find statement for pathalias database. # 25Jun88 JET -- commented the script so others would be able to follow. # erict@flatline.UUCP # A really kludgey version that probably takes forever to run... # but it was quick n dirty to write... echo "demap.sh run at" `date` cd /usr/lib/mail/maps # This pulls the maps from their spool/news directory, cleans them # up, and puts them into the map directory... # LastCheck is an empty file that I use as a date-keeper for the # last time the spool directory was checked for new maps. for i in `find /usr/spool/news/comp/mail/maps -type f \ -newer /usr/lib/mail/maps/LastCheck -print` do sed -e "/^From: /D" -e "/^Path: /D" -e "/^Newsgroups: /D" -e "/^From /D" -e "/^Subject: /D" -e "/^Message-ID: /D" -e "/^Date: /D" -e "/^Expires: /D" -e "/^Sender: /D" -e "/^Lines: /D" -e "/^Approved: /D" -e "/^Supersedes: /D" $i \ | sh done touch /usr/lib/mail/maps/LastCheck # do pathalias stuff # thanks to apt@uhnix2.uh.edu (Alan Pfeiffer-Traum) for the find trick. # this will rebuild the pathalias/smail database *if*, and only *if* # new map files were processed. latest_files=`find /usr/lib/mail/maps/[d,u]* -newer /usr/lib/mail/paths -print` if [ -n "$latest_files" ] then echo "Updating pathalias database." cd /usr/lib/mail/maps cat dir.form d.* u.* | pathalias -l flatline > /tmp/pathalias cd /usr/lib/mail mv paths paths.old sort /tmp/pathalias > paths chmod a+r paths rm /tmp/pathalias fi Anyone who thinks they can do this better, please post your script. Again, this is most definately a mondo-jock kludge. But, it works. :-) -- Skate UNIX or go home, boogie boy... "But why should I type "rm -r $HOME" if I want to play trek???" J. Eric Townsend ->uunet!nuchat!flatline!erict smail:511Parker#2,Hstn,Tx,77007 ..!bellcore!tness1!/