From 45ee2978cd0f88d0bc4c41666cc6ab3a6c32ded7 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Tue, 22 Jun 2004 18:04:46 +0000 Subject: [PATCH] Update messages-expire script git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3275 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- contrib/scripts/messages-expire.pl | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/contrib/scripts/messages-expire.pl b/contrib/scripts/messages-expire.pl index bb4fec5b38..993997899d 100755 --- a/contrib/scripts/messages-expire.pl +++ b/contrib/scripts/messages-expire.pl @@ -13,10 +13,33 @@ $context = "default"; # Age (Delete files older than $age days old) $age = 31; -# Delete all files older than $age (but named msg????.??? to be sure -# we don't delete greetings or the user's name) +# Age for unheard messages (Defaults to same age for all messages) +# Set to 0 to not delete unheard messages +$unheardage = $age; -system('find '.$dir.'/'.$context.' -name msg????.??? -mtime +'.$age.' -exec rm {} \; -exec echo Deleted {} \;'); + +# Delete all files older than $age and $unheardage +# (named msg????.??? to get the audio and txt files, +# but we don't delete greetings or the user's name) + +if($age==$unheardage) { + + # Save time by doing one find if we're treating everything the same + system('find '.$dir.'/'.$context.' -name msg????.??? -mtime +'.$age.' -exec rm {} \; -exec echo Deleted {} \;'); + +} else { + + # Find everything not in a folder called 'INBOX' and delete it after $age days + system('find '.$dir.'/'.$context.' -path \'*INBOX*\' -prune -o -name msg????.??? -mtime +'.$age.' -exec rm {} \; -exec echo Deleted {} \;'); + + # If unheardage is set to 0, we won't delete any unheard messages + if($unheardage > 0) { + + # Delete things that are in a folder called INBOX after $unheardage days + system('find '.$dir.'/'.$context.' -path \'*INBOX*\' -name msg????.??? -mtime +'.$unheardage.' -exec rm {} \; -exec echo Deleted {} \;'); + + } +} # For testing - what number to we start when we renumber? $start = "0";