#!/usr/bin/perl
use strict;
#Krasi Nachev , GPL
#backup script
my $userhost = 'root@domain.com'; #define user and host
chomp (my $date = `date +%d%b`);
my %hash = (
remdir => '/remote/backup/', #define remote dir
tar => "tar -cvjf",
rsync => "rsync -aP",
ssh => "ssh"
);
my $ref = \%hash;
$ref->{localdir} = '/opt/zimbra'; #define local dir
unless (opendir DH, $ref->{localdir}) {
print "Backup dir $ref->{localdir} not exist

\n";
}
else {
print "Backup dir $ref->{localdir} is OK

\n";
}
system("/etc/init.d/zimbra stop")
$ref->{baname} = "backup";$ref->{ext} = ".tar.bz2"; $ref->{rm} = "rm -r";
system("$ref->{rsync} $ref->{localdir} $userhost:$ref->{remdir}$ref->{baname}_$date");
sleep 1;
system("$ref->{ssh} $userhost $ref->{tar} $ref->{remdir}$ref->{baname}$date$ref->{ext} $ref->{remdir}$ref->{baname}_$date");
sleep 1;
system("$ref->{ssh} $userhost $ref->{rm} $ref->{remdir}$ref->{baname}_$date");
system("/etc/init.d/zimbra start")
print "Done\n";