diff options
Diffstat (limited to 'bin/rotate-cdrs')
-rwxr-xr-x | bin/rotate-cdrs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/bin/rotate-cdrs b/bin/rotate-cdrs deleted file mode 100755 index 7bef0bbb0..000000000 --- a/bin/rotate-cdrs +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use Fcntl qw(:flock); -use IO::File; - -my $dir = '/usr/local/etc/freeside/export/cdr'; -#chdir $dir; - -#XXX glob might not handle lots of args at some point... -foreach my $file ( glob("$dir/*/CDR*-spool.CSV") ) { - - $file =~ m{(\d+)/CDR(\d+)-spool.CSV$} - or die "guru meditation #54: can't parse filename: $file\n"; - my($custnum, $date) = ($1, $2); - - - my $alpha = 'A'; - while ( -e "$dir/$custnum/CDR$date$alpha.CSV" ) { - $alpha++; # A -> Z -> AA etc. - } - my $newfile = "$dir/$custnum/CDR$date$alpha.CSV"; - - rename $file, $newfile - or die "$! moving $file to $newfile\n"; - - use IO::File; - my $lock = new IO::File ">>$newfile" - or die "can't open $newfile: $!\n"; - sleep 1; #just in case. i guess there's still a *remotely* possible - #race condition, but i'm not losing any sleep over it... (rimshot) - flock($lock, LOCK_EX) - or die "can't lock $newfile: $!\n"; - #okay we've got the lock, any pending write should be done... - - print "$custnum: $newfile\n"; - -} |