i would just install postfix or sendmail and add an alias for the group you
wanted to send emails to. then when you send a mail to
[EMAIL PROTECTED] will mail to everyone in the appropriate alias
file.
On 10/19/07, Martin Šoltis <[EMAIL PROTECTED]> wrote:
>
> Hi Jean, thank you very much.
>
> It looks great, but if i can ask, what do i need to change if i want to
> send
> email at more addresses or at address which has nothing to do with users
> from
> backuppc ?
>
> And little OT question, not only for you.
> When i send email from backuppc it comes from [EMAIL PROTECTED] to $user and
> even
> if i change EMailUserDestDomain and EMailFromUserName nothing change.
>
> Thanx for help
>
>
>
> On Thursday 18 October 2007 22:09:41 Jean-Michel Beuken wrote:
> > Dear Martin,
> >
> > > I am searching after some script or possibility to send email at some
> > > addresses after every backup, and in this email i need :
> > >
> > > 1. What has been backed up.
> > > 2. When
> > > 3. If backup was successfull or not
> > > 4. If not - why
> >
> > almost all yours requests ;-)
> >
> > in config.pl (or in PC-config file) :
> >
> > - send email after a backup :
> >
> > $Conf{DumpPostUserCmd} = '/usr/local/BackupPC/bin/BackupNotify $user
> > $xferOK $host $type $client $hostIP ';
> >
> > - or only if the backup is ok
> >
> > $Conf{DumpPostUserCmd} = '/usr/local/BackupPC/bin/BackupNotify_succes
> > $user $xferOK $host $type $client $hostIP ';
> >
> > - or only if the backup is not ok
> >
> > $Conf{DumpPostUserCmd} = '/usr/local/BackupPC/bin/BackupNotify_echec
> > $user $xferOK $host $type $client $hostIP ';
> >
> >
> > above 2 scripts (not yet finished but working...) :
> >
> > - one sends email with the results (BackupNotify)
> > - second (analyse_backups) extracts errors from XferLOG (I'm taken some
> > part of code in the package BackupPC (BackupPC_dump))
> >
> > regards
> >
> > jmb
> >
> >
> ---------------------------------------------------------------------------
> >- [EMAIL PROTECTED] /usr/local/BackupPC/bin > cat BackupNotify
> >
> > #!/usr/local/bin/perl
> > #################
> > #
> > # BackupNotify : send mail after a good or a bad backup
> > # BackupNotify_succes : send email only after a good backup
> > # BackupNotify_echec : send email only after a bad backup
> > #
> > # jmb 20/06/2006
> > # jmb 10/10/2007
> > #
> > # parameters : $user $xferOK $host $type $client $hostIP
> > #
> > use Socket;
> >
> > $mailprog = '/usr/sbin/sendmail';
> >
> > $user = $ARGV[0];
> > $xferOK = $ARGV[1];
> > $host = $ARGV[2];
> > $type = $ARGV[3];
> > $client = $ARGV[4];
> > $hostIP = $ARGV[5];
> >
> > $recipient = $user;
> >
> > $script = $0;
> > $succes = 1;
> > $echec = 1;
> >
> > if ($script =~ 'succes'){ $echec = 0; }
> > if ($script =~ 'echec'){ $succes = 0; }
> >
> > #
> > # extract only errors from XferLOG
> > #
> > my $status=`/usr/local/BackupPC/bin/analyse_backups $client`;
> > ($xferErr,$badFile,$TopDir,$xferlognum) = split(/-/,$status);
> > chop($xferlognum);
> > $xferErr = int($xferErr);
> > $xferlognum = int($xferlognum);
> > my $list_error=`/usr/local/BackupPC/bin/BackupPC_zcat
> > $TopDir/pc/$client/XferLOG.$xferlognum.z | grep DENIED | grep -v 'System
> > Volume Information' | grep -v RECYCLER |grep -v Watson`;
> >
> > #
> > #
> > $msg = "Rapport de sauvegarde de BackupPC pour le PC \"$client
> > ($hostIP)\" : \n\n";
> > if ( $xferOK) {
> > if ( length($list_error) > 0) {
> > $msg .= "Le backup ($type) s'est PRESQUE bien
> > deroule...\n\n";
> > $msg .= "Des erreurs de transfert se sont
> > produites...\n\n"; $msg .= "Voici la liste des erreurs :\n";
> > $msg .= "$list_error\n";
> > $msg .= "Ceci peut se produire dans les situations
> > suivantes :\n";
> > $msg .= " - lorsqu'un fichier est en cours
> > d'utilisation\n";
> > $msg .= " - lorsqu'un dossier/fichier a des droits
> > d'acces trop restrictifs\n\n";
> > $msg .= "De toute facon, les gestionnaires sont
> > prevenus...\n";
> > $ccrecipient = "[EMAIL PROTECTED]";
> > $subject = "Backup de $client : ok MAIS... !";
> > if ( $succes ){ &sendmail($msg); };
> > } else {
> > $msg .= "Le backup ($type) s'est bien deroule\n";
> > $ccrecipient = "";
> > $subject = "Backup de $client : OK !";
> > if ( $succes ){ &sendmail($msg); };
> > }
> > } else {
> > $msg .= "Le backup ($type) a pose probleme ! \n";
> > $subject = "Probleme de backup de $client...";
> > if ( $echec ) { &sendmail($msg); };
> > }
> >
> > sub sendmail {
> > my($msg) = @_;
> > open(MAIL, "|$mailprog -t") && do {
> > print MAIL "To: $recipient\n";
> > print MAIL "From: [EMAIL PROTECTED]";
> > print MAIL "Cc: $ccrecipient\n";
> > # print MAIL "Bcc:\n";
> > print MAIL "Subject: $subject \n\n";
> > print MAIL "$msg\n";
> > print MAIL "\nVisiter regulierement le site
> > <http://www.uclouvain.be/backuppc>\n";
> > print MAIL "\nContact support : mailto:[EMAIL PROTECTED]
> \n";
> > close (MAIL);
> > };
> > }
> >
> ---------------------------------------------------------------------------
> >-
> >
> > [EMAIL PROTECTED] /usr/local/BackupPC/bin > cat analyse_backups
> > #!/usr/local/bin/perl
> > #=============================================================
> -*-perl-*-
> > #
> > # BackupPC_
> >
> > use strict;
> > no utf8;
> > use lib "/usr/local/BackupPC3/lib";
> > use BackupPC::Lib;
> > use BackupPC::FileZIO;
> > use BackupPC::Storage;
> > use BackupPC::Xfer::Smb;
> > use BackupPC::Xfer::Tar;
> > use BackupPC::Xfer::Rsync;
> > use BackupPC::Xfer::BackupPCd;
> > use Encode;
> > use Socket;
> > use File::Path;
> > use File::Find;
> > use Getopt::Std;
> >
> >
> ###########################################################################
> > # Initialize
> >
> ###########################################################################
> >
> > die("BackupPC::Lib->new failed\n") if ( !(my $bpc = BackupPC::Lib->new)
> );
> > my $TopDir = $bpc->TopDir();
> > my $BinDir = $bpc->BinDir();
> > my %Conf = $bpc->Conf();
> > my $NeedPostCmd;
> > my $Hosts;
> > my $SigName;
> > my $Abort;
> >
> > $bpc->ChildInit();
> >
> > my %opts;
> > if ( !getopts("defiv", \%opts) || @ARGV != 1 ) {
> > print("usage: $0 [-d] [-e] [-f] [-i] [-v] <client>\n");
> > exit(1);
> > }
> > if ( $ARGV[0] !~ /^([\w\.\s-]+)$/ ) {
> > print("$0: bad client name '$ARGV[0]'\n");
> > exit(1);
> > }
> >
> > my $client = $1; # BackupPC's client name (might not be real host
> name)
> > my $hostIP; # this is the IP address
> > my $host; # this is the real host name
> > my($clientURI, $user);
> > my $Dir = "$TopDir/pc/$client";
> > my @xferPid = ();
> > my $tarPid = -1;
> > my($needLink, @Backups, $type);
> > my($incrBaseTime, $incrBaseBkupNum, $incrBaseLevel, $incrLevel);
> > my $lastFullTime = 0;
> > my $lastIncrTime = 0;
> > my $partialIdx = -1;
> > my $partialNum;
> > my $lastBkupNum;
> > my $lastPartial = 0;
> > my(@lastIdxByLevel, $incrCntSinceFull);
> >
> > #
> > # Read Backup information, and find times of the most recent full and
> > # incremental backups. Also figure out which backup we will use
> > # as a starting point for an incremental.
> > #
> > # my $flds = {
> > # BackupFields => [qw(
> > # num type startTime endTime
> > # nFiles size nFilesExist sizeExist nFilesNew sizeNew
> > # xferErrs xferBadFile xferBadShare tarErrs
> > # compress sizeExistComp sizeNewComp
> > # noFill fillFromNum mangle xferMethod level
> > # charset
> > # )],
> > #
> > @Backups = $bpc->BackupInfoRead($client);
> > ## @Backups = sort( { $a->{startTime} <=> $b->{startTime} }, @Backups);
> > my $maxbackups;
> > for ( my $i = 0 ; $i < @Backups ; $i++ ) {
> > $needLink = 1 if ( $Backups[$i]{nFilesNew} eq ""
> >
> > || -f "$Dir/NewFileList.$Backups[$i]{num}" );
> >
> > if ( $Backups[$i]{type} eq "full" ) {
> > $incrCntSinceFull = 0;
> > $lastBkupNum = $Backups[$i]{num};
> > $lastIdxByLevel[0] = $i;
> > if ( $lastFullTime < $Backups[$i]{startTime} ) {
> > $lastFullTime = $Backups[$i]{startTime};
> > }
> > } elsif ( $Backups[$i]{type} eq "incr" ) {
> > $incrCntSinceFull++;
> > $lastBkupNum = $Backups[$i]{num};
> > $lastIdxByLevel[$Backups[$i]{level}] = $i;
> > $lastIncrTime = $Backups[$i]{startTime}
> > if ( $lastIncrTime < $Backups[$i]{startTime} );
> > } elsif ( $Backups[$i]{type} eq "partial" ) {
> > $partialIdx = $i;
> > $lastPartial = $Backups[$i]{startTime};
> > $partialNum = $Backups[$i]{num};
> > }
> > $maxbackups = $i;
> > }
> > print
> >
> "$Backups[$maxbackups]{xferErrs}-$Backups[$maxbackups]{xferBadFile}-$TopDir
> >-$lastBkupNum\n";
> >
> > exit(0);
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> BackupPC-users mailing list
> BackupPC-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/backuppc-users
> http://backuppc.sourceforge.net/
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/backuppc-users
http://backuppc.sourceforge.net/