# # This is a script that we actually use on the Suns to figure out # who the disk hogs are and make lists with summaries of the # information. # #! /usr/bin/sh # DO DU OF /biguser # # FEED OUTPUT OF THE DU COMMAND TO A FILE NAMED AFTER # THE DIRECTORY BEING EXAMINED. THIS CLOBBERS THE PREVIOUS # CONTENTS (USUALLY FROM THE PREVIOUS WEEK) OF THAT OUTPUT # FILE. du -s /biguser/* > /admin/Hogs/du_biguser_list # SORT THE OUTPUT FILE IN REVERSE NUMERICAL ORDER, BY AMOUNT OF # DISK SPACE USED. OUTPUT GOES TO A TEMP FILE sort -nr /admin/Hogs/du_biguser_list > /admin/Hogs/du_biguser_list.tmp # PUT A HEADER INTO A NEW COPY OF THE OUTPUT FILE echo > /admin/Hogs/du_biguser_list echo >> /admin/Hogs/du_biguser_list date >> /admin/Hogs/du_biguser_list echo >> /admin/Hogs/du_biguser_list # ADJOIN THE SORTED TEMP FILE ONTO THE HEADER IN THE OUTPUT FILE cat /admin/Hogs/du_biguser_list.tmp >> /admin/Hogs/du_biguser_list # REMOVE THE TEMP FILE rm /admin/Hogs/du_biguser_list.tmp # PUT HEADER, PLUS TOP 20 LINES OF OUTPUT, INTO THE "TOPS" LOG # THIS LOG IS ALL THAT WILL REMAIN OF THE DATA AFTER THE NEXT # RUN OF THIS SCRIPT. head -24 /admin/Hogs/du_biguser_list >> /admin/Hogs/Tops/biguser # DO NOT LET THE LOG FILE GROW LARGER THAN 624 LINES # -- UPDATE LOG TO BE JUST THE LAST 624 LINES. tail -624 /admin/Hogs/Tops/biguser > /admin/Hogs/Tops/biguser.tmp mv /admin/Hogs/Tops/biguser.tmp /admin/Hogs/Tops/biguser # THE REST OF THIS SCRIPT DOES THE SAME KIND OF STUFF AS # THE COMMANDS ABOVE. # DO DU OF /user2/class # du -s /user2/class/* > /admin/Hogs/du_class_list sort -nr /admin/Hogs/du_class_list > /admin/Hogs/du_class_list.tmp echo > /admin/Hogs/du_class_list echo >> /admin/Hogs/du_class_list date >> /admin/Hogs/du_class_list echo >> /admin/Hogs/du_class_list cat /admin/Hogs/du_class_list.tmp >> /admin/Hogs/du_class_list rm /admin/Hogs/du_class_list.tmp head -24 /admin/Hogs/du_class_list >> /admin/Hogs/Tops/class tail -624 /admin/Hogs/Tops/class > /admin/Hogs/Tops/class.tmp mv /admin/Hogs/Tops/class.tmp /admin/Hogs/Tops/class # DO DU OF /user2/guest # du -s /user2/guest/* > /admin/Hogs/du_guest_list sort -nr /admin/Hogs/du_guest_list > /admin/Hogs/du_guest_list.tmp echo > /admin/Hogs/du_guest_list echo >> /admin/Hogs/du_guest_list date >> /admin/Hogs/du_guest_list echo >> /admin/Hogs/du_guest_list cat /admin/Hogs/du_guest_list.tmp >> /admin/Hogs/du_guest_list rm /admin/Hogs/du_guest_list.tmp head -24 /admin/Hogs/du_guest_list >> /admin/Hogs/Tops/guest tail -624 /admin/Hogs/Tops/guest > /admin/Hogs/Tops/guest.tmp mv /admin/Hogs/Tops/guest.tmp /admin/Hogs/Tops/guest # LIST THE FILES IN /tmp # echo > ls-lg_tmp_list echo >> ls-lg_tmp_list date >> ls-lg_tmp_list echo >> ls-lg_tmp_list ls -lg /tmp >> ls-lg_tmp_list cat ls-lg_tmp_list >> /admin/Hogs/Tops/tmp tail -660 /admin/Hogs/Tops/tmp > /admin/Hogs/Tops/tmp.tmp mv /admin/Hogs/Tops/tmp.tmp /admin/Hogs/Tops/tmp # DO DU OF /usr/spool/mail # du -s /usr/spool/mail/* > /admin/Hogs/du_mail_list sort -nr /admin/Hogs/du_mail_list > /admin/Hogs/du_mail_list.tmp echo > /admin/Hogs/du_mail_list echo >> /admin/Hogs/du_mail_list date >> /admin/Hogs/du_mail_list echo >> /admin/Hogs/du_mail_list cat /admin/Hogs/du_mail_list.tmp >> /admin/Hogs/du_mail_list rm /admin/Hogs/du_mail_list.tmp head -24 /admin/Hogs/du_mail_list >> /admin/Hogs/Tops/mail tail -624 /admin/Hogs/Tops/mail > /admin/Hogs/Tops/mail.tmp mv /admin/Hogs/Tops/mail.tmp /admin/Hogs/Tops/mail # DO DU OF /user1/staff # du -s /user1/staff/* > /admin/Hogs/du_staff_list sort -nr /admin/Hogs/du_staff_list > /admin/Hogs/du_staff_list.tmp echo > /admin/Hogs/du_staff_list echo >> /admin/Hogs/du_staff_list date >> /admin/Hogs/du_staff_list echo >> /admin/Hogs/du_staff_list cat /admin/Hogs/du_staff_list.tmp >> /admin/Hogs/du_staff_list rm /admin/Hogs/du_staff_list.tmp head -24 /admin/Hogs/du_staff_list >> /admin/Hogs/Tops/staff tail -624 /admin/Hogs/Tops/staff > /admin/Hogs/Tops/staff.tmp mv /admin/Hogs/Tops/staff.tmp /admin/Hogs/Tops/staff # DO DU OF /user2/student # du -s /user2/student/* > /admin/Hogs/du_student_list sort -nr /admin/Hogs/du_student_list > /admin/Hogs/du_student_list.tmp echo > /admin/Hogs/du_student_list echo >> /admin/Hogs/du_student_list date >> /admin/Hogs/du_student_list echo >> /admin/Hogs/du_student_list cat /admin/Hogs/du_student_list.tmp >> /admin/Hogs/du_student_list rm /admin/Hogs/du_student_list.tmp head -24 /admin/Hogs/du_student_list >> /admin/Hogs/Tops/student tail -624 /admin/Hogs/Tops/student > /admin/Hogs/Tops/student.tmp mv /admin/Hogs/Tops/student.tmp /admin/Hogs/Tops/student