aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-22 18:04:46 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-22 18:04:46 +0000
commit42e760fa03b8922686c13c3fc04b11b08521c6c2 (patch)
treef53e3a7c1ea42697ad5250ae2ce37ddfb7f1ae50 /contrib
parentf977696342a7cbc6b5097b1d7b1aafffb7ed6585 (diff)
Update messages-expire script
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3275 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/scripts/messages-expire.pl29
1 files changed, 26 insertions, 3 deletions
diff --git a/contrib/scripts/messages-expire.pl b/contrib/scripts/messages-expire.pl
index bb4fec5b3..993997899 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";