Date: Thu, 12 Jun 2003 14:58:32 -0400 From: "Dave [Hawk-Systems]" <dave@hawk-systems.com> To: <freebsd-questions@freebsd.org> Subject: shell scripting - automating rotation of files in different directories Message-ID: <DBEIKNMKGOBGNDHAAKGNEEELAIAC.dave@hawk-systems.com>
next in thread | raw e-mail | index | archive | help
have looked at a couple of the ports for log rotation and such, but none seem to come close to the simplicity and complexity of what I am looking for. have user directories and log files in each directory... each user requests to have 1 day ro 30 days of logs made available for them to download at any given time. Looking for a way to simply touch or delete log files and have the script identify the correct rotation to. For example, <brutally pseudo script> for($i=30; $i>0;$1--){ # 30 days is maximum retained for LOG in `ls /users/*/logs/ | grep .$i'`; do # move any of the previous logs into the current existing # so that we don't add to number of logs per user $prevLOG = strreplace(($i-1)($i) on $LOG) mv $prevLOG $LOG done ) </brutally pseudoscript> this way, if a user wants more logs, just touch (create empty) logs files, and the next time the script runs it will rotate all them... need less, simply delete the unneeded log files and they will not be rotated into. Am thinking that the shell script will need to drop to awk to perform the disection of the log number extensions... any thoughts on this/easier methods before I sit down and devote some time to it? thanks Dave
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DBEIKNMKGOBGNDHAAKGNEEELAIAC.dave>