diff options
Diffstat (limited to 'FS/bin/freeside-daily')
-rwxr-xr-x | FS/bin/freeside-daily | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/FS/bin/freeside-daily b/FS/bin/freeside-daily deleted file mode 100755 index 6a542c7cd..000000000 --- a/FS/bin/freeside-daily +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use Getopt::Std; -use FS::UID qw(adminsuidsetup); -use FS::Conf; - -&untaint_argv; #what it sounds like (eww) -use vars qw(%opt); -getopts("p:a:d:vl:sy:nmrkg:u", \%opt); - -my $user = shift or die &usage; -adminsuidsetup $user; - -#you can skip this by setting the disable_cron_billing config -use FS::Cron::bill qw(bill); -bill(%opt); - -#you can skip this just by not having the config -use FS::Cron::breakage qw(reconcile_breakage); -reconcile_breakage(%opt); - -#you can skip this just by not having the config -use FS::Cron::upload qw(upload); -upload(%opt); - -# Send alerts about upcoming credit card expiration. -use FS::Cron::alert_expiration qw(alert_expiration); -my $conf = new FS::Conf; -alert_expiration(%opt) if($conf->exists('alert_expiration')); - -#what to do about the below when using -m? that is the question. - -#you don't want to skip this, besides, it should be cheap -use FS::Cron::expire_user_pref qw(expire_user_pref); -expire_user_pref(); - -unless ( $opt{k} ) { - use FS::Cron::notify qw(notify_flat_delay); - notify_flat_delay(%opt); -} - -#debian Pg 8.1+ auto-vaccums, 7.4 w/postgresql-contrib -if ( $opt{u} ) { - use FS::Cron::vacuum qw(vacuum); - vacuum(); -} - -#you can skip this just by not having the config -use FS::Cron::backup qw(backup_scp); -backup_scp(); - -### -# subroutines -### - -sub untaint_argv { - foreach $_ ( $[ .. $#ARGV ) { #untaint @ARGV - #$ARGV[$_] =~ /^([\w\-\/]*)$/ || die "Illegal arguement \"$ARGV[$_]\""; - # Date::Parse - $ARGV[$_] =~ /^(.*)$/ || die "Illegal arguement \"$ARGV[$_]\""; - $ARGV[$_]=$1; - } -} - -sub usage { - die "Usage:\n\n freeside-daily [ -d 'date' ] [ -y days ] [ -p 'payby' ] [ -a agentnum,agentnum,... ] [ -s ] [ -v ] [ -l level ] [ -m ] [ -k ] user [ custnum custnum ... ]\n"; -} - -### -# documentation -### - -=head1 NAME - -freeside-daily - Run daily billing and invoice collection events. - -=head1 SYNOPSIS - - freeside-daily [ -d 'date' ] [ -y days ] [ -p 'payby' ] [ -a agentnum,agentnum,... ] [ -s ] [ -v ] [ -l level ] [ -m ] [ -r ] [ -k ] user [ custnum custnum ... ] - -=head1 DESCRIPTION - -Bills customers and runs invoice collection events. Should be run from -crontab daily. - -Bills customers. Searches for customers who are due for billing and calls -the bill and collect methods of a cust_main object. See L<FS::cust_main>. - - -d: Pretend it's 'date'. Date is in any format Date::Parse is happy with, - but be careful. - - -y: In addition to -d, which specifies an absolute date, the -y switch - specifies an offset, in days. For example, "-y 15" would increment the - "pretend date" 15 days from whatever was specified by the -d switch - (or now, if no -d switch was given). - - -n: When used with "-d" and/or "-y", specifies that invoices should be dated - with today's date, irregardless of the pretend date used to pre-generate - the invoices. - - -p: Only process customers with the specified payby (CARD, DCRD, CHEK, DCHK, BILL, COMP, LECB) - - -a: Only process customers with the specified agentnum. Multiple agentnums can be specified, separated with commas. - - -g: Don't process the provided pkgpart (or pkgparts, specified as a comma- - separated list). - - -s: re-charge setup fees - - -v: enable debugging - - -l: debugging level - - -m: Experimental multi-process mode uses the job queue for multi-process and/or multi-machine billing. - - -r: Multi-process mode dry run option - - -k: skip notify_flat_delay - - -u: Do a vacuum (starting with version 1.9, this is not run by default). - -user: From the mapsecrets file - see config.html from the base documentation - -custnum: if one or more customer numbers are specified, only bills those -customers. Otherwise, bills all customers. - -=head1 BUGS - -=head1 SEE ALSO - -L<FS::cust_main>, config.html from the base documentation - -=cut - |