I've tried to find some good reference documentation on logrotate.conf files, but couldn't find anything solid. The links that I've found are attached below [1].
Basically, I have some processes that dump data to /var/log/something/YYYY-MM-dd/* ... these are all reasonably complicated sub-trees within each day's folder, but basically, I'm trying to use logrotate to rotate / delete the folders in bulk, and I don't even know that it's possible (and documentation isn't 100%, from what I could tell). 1) I'm worried about disk space, otherwise I'd just let these directories grow without bound. :^) 2) Recent log directories need to have files accessible (nocompress)? 3) I'm cool with having a 1-2 week turnaround on these files, here was my first attempt: [EMAIL PROTECTED]:~$ cat ~/test.conf /var/log/something/* { rotate 14 daily } ...logrotate -d test.conf gives: [EMAIL PROTECTED]:~$ /usr/sbin/logrotate -d test.conf reading config file test.conf reading config info for /var/log/something/* Handling 1 logs rotating pattern: /var/log/something/* after 1 days (14 rotations) empty log files are rotated old logs are removed ...but I'm confused because it says: "Handling 1 logs" and I think that won't quite work (probably need to involve the prerotate thing). As much as I hate to re-invent the wheel, I was thinking of ways to roll our own little script b/c like I said, I don't have a great understanding of how logrotate would handle this (directories of logs containing subdirectories). Possibly somebody just needs to whack me with the tar manpage (and how tar interacts with logrotate). Here is an alternative that I came up with (pseudocode bash b/c I don't want to debug it until I know that logrotate won't work): cron: @hourly #!/bin/sh # find free space in kb FREESPACE=`df | grep hda2 | awk '{print $4}'` # see if it is "too little" if [ `expr $FREESPACE \< 1000000` ] # yes, too little, find oldest named directory to delete TO_DELETE=`ls -r /var/log/something | tail -1` if [ "$TO_DELETE" ne "" ] # don't ever delete a blank # (would delete *everything*) rm -rf -- "/var/log/something/$TO_DELETE" echo "Deleted: $TO_DELETE to save space" | mail -s "Clearing old logs..." [EMAIL PROTECTED] fi fi ...I'm grasping at straws here, some sage advice would be very welcome. (and a CC would be welcome, too, as I read debian-user through the web archives, and the DWN :^) --Robert [1] URL's... Man page: http://www.oreillynet.com/linux/cmd/l/logrotate.html Neat/useful: http://lena.franken.de/linux/sysadmin.html#logrotate Generic info: http://www.linuxhomenetworking.com/linux-hn/logging.htm#_Toc36811063 __________________________________ Do you Yahoo!? Yahoo! Calendar - Free online calendar with sync to Outlook(TM). http://calendar.yahoo.com -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]