Path: utzoo!mnetor!uunet!ccicpg!felix!zemon From: jeff@drexel.UUCP (Jeff White) Newsgroups: comp.unix.ultrix Subject: Re: Need per-user accounting system Message-ID: <29943@felix.UUCP> Date: 14 Apr 88 00:01:01 GMT References: <27841@felix.UUCP> Sender: zemon@felix.UUCP Reply-To: jeff@drexel.UUCP (Jeff White) Lines: 72 Approved: zemon@felix.UUCP Reply-Path: I've written an accounting package for our system here (an 11/780 running 4.2 BSD), but it's such a kludge that I wouldn't want to send it out. However, what I do is to basically use the standard unix commands that deal with accounting data (sa for cpu and disk I/O, ac for connect time, du for disk usage), and do a lot of cutting, pasting, and greping to form a raw data file that another program can read and them prepare a proper report. I use the following commands (I'm actually executing them so you can see the results): 1. CPU and IO: sa -ml | grep jeff % jeff 3575 84.15cpu 61266tio 691383k*sec % ^ ^ cpu minutes total io 2. Connect time: ac -p | grep jeff % jeff 21.49 % ^ hours connect time 3. Pages printed: pac -P{printer_name} -s;pac -P{printer_name} | grep jeff % drexel:jeff 128.00 24 $ 6.40 % % ^ pages printed 4. Disk usage: du -s {home_dir} % 17831 /usr/jeff % As you can see, all the raw data you need it pretty easy to obtain. The more difficult part is trying to automate the gathering and reformatting of this data. The line below gives a sample of 1 line of this raw data. % jeff Jeff_White 102 cbis 100 /usr/jeff 13707. 31. 114.23 149967 57.20 11.00 0.00 0.00 % Below is the description of each record that the final program uses to print out the bills: /* DATA FORMAT */ May 18, 1984 (revised July 23, 1984 by Jeff White) 1) login name { c-string } 2) Full name { c-string; '_' must be converted to blank } 3) UserId { int } 4) Group name { c-string } 5) GroupId { Int } 6) Home dir { c-string } 7) Disk Usage { Int } 8) Billing Days { Int } 9) CPU time { Real f5.2 } 10) Disk IO { Int; No. operations } 11) Connect Time { Real f5.2 } 12) Pages - line { Real f5.2 } 13) Pages - daisy { Real f5.2 } 14) Pages - laser { Real f5.2 } I don't want to burden you with any unnecessary information, so if you have an specific questions, feel free to drop me a line. Jeff White Drexel University - ECE Dept. rutgers!bpa!drexel!jeff