diff options
Diffstat (limited to '1.2-netsec/contrib/scripts/messages-expire.pl')
-rw-r--r-- | 1.2-netsec/contrib/scripts/messages-expire.pl | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/1.2-netsec/contrib/scripts/messages-expire.pl b/1.2-netsec/contrib/scripts/messages-expire.pl deleted file mode 100644 index 993997899..000000000 --- a/1.2-netsec/contrib/scripts/messages-expire.pl +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/perl -# -# Script to expire voicemail after a specified number of days -# by Steve Creel <screel@turbs.com> -# - -# Directory housing the voicemail spool for asterisk -$dir = "/var/spool/asterisk/voicemail"; - -# Context for which the script should be running -$context = "default"; - -# Age (Delete files older than $age days old) -$age = 31; - -# Age for unheard messages (Defaults to same age for all messages) -# Set to 0 to not delete unheard messages -$unheardage = $age; - - -# 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"; - -# Rename to msg and a 4 digit number, 0 padded. -$fnbase = sprintf "msg%04d", $start; - -# Make $dir include the context too -$dir.="/".$context; - -( -d $dir ) || die "Can't read list of mailboxes ($dir): $!\n"; -@mailboxes = `ls -A1 $dir`; -chomp(@mailboxes); - -$save_fnbase = $fnbase; - -foreach $mailbox (@mailboxes) { - - ( -d $dir."/".$mailbox) || die "Can't read list of folders (".$dir."/".$mailbox."): $!\n"; - @folders = `ls -A1 $dir/$mailbox`; - chomp(@folders); - - foreach $folder (@folders) { - if (-d $dir."/".$mailbox."/".$folder) { - ( -d $dir."/".$mailbox."/".$folder) || die "Can't read list of messages (".$dir."/".$mailbox."/".$folder.") $!\n"; - @files = `ls -A1 $dir/$mailbox/$folder/`; - - # Sort so everything is in proper order. - @files = sort @files; - chomp(@files); - - # If there is still (after deleting old files earlier in the - # script) a msg0000.txt, we don't need to shuffle anything - # in this folder. - if (-f $dir."/".$mailbox."/".$folder."/msg0000.txt") { next; } - - foreach $ext (("WAV", "wav", "gsm", "txt")) { - # Reset the fnbase for each file type - $fnbase = $save_fnbase; - - foreach $file (@files) { - if ( $file =~ /$ext/ ) { - chdir($dir."/".$mailbox."/".$folder."/") || die "Can't change folder: $!"; - print "Renaming: ".$dir."/".$mailbox."/".$folder."/".$file." to ".$fnbase.".".$ext."\n"; - rename($file, $fnbase.".".$ext) || die "Cannot rename: $!"; - $fnbase++; - } - } - } - } - } -} - -__END__
\ No newline at end of file |