Blog nedir? . . . Kendi blogunu oluştur ;)

Linux , Php, Perl dünyası

Dünyanın en yaygın internet uygulama geliştirme dili ve en çok tercih edilen internet sunucu işletim sistemi hakkında faydalı birçok şey bu blogda bulacaksınız.

Tüm sistemi başka bir sunucuya yedeklemeniz için PERL script.. Çok işinize yarıyacak

Bu perl script ne yapar ?

* Veritabanınızı ve belirttiğiniz dosyaları , klasörleri sıkıştırıp başka bir sunucuya yedekler.. Bir sorun olduğunda ise sizi mail ile uyarır. 

Kırmızı ile belirtilmiş alnaları değiştirmeniz halinde sorunsuz çalışacaktır.

#!/usr/bin/perl -w
use strict;
use Net::FTP;
my $server="yedekalinacakserver.com";
my $user="ftpkullanici";
my $password="ftpsifreniz";
my $dir="";
my $file="/tmp/yedek.tar.gz";
my $success="true";
my $filetran="true";

print "Yedekleme basladi.. Bekleyiniz..";

#Bu satirda tablolaru mysqldump ile aliyoz
`/bin/mysqldump -h veritabanihost -u veritabanı_kullanici_adi -pŞifre -Aal > /etc/veritabani_yedek.sql`;

# Önemli klasorlerinizi birden fazla belirtip tmp klasörüne paketliyoruz.
`tar cvf /tmp/yedek.tar /etc  /home/resimler  /home/www/html /home/www/ornek; gzip --force --best /tmp/yedek.tar`;

my $ftp=Net::FTP->new($server) or $success="false";
$ftp->login($user, $password) or $success="false";
$ftp->pasv() or $success="false";
$ftp->binary() or $success="false";
$ftp->cwd($dir) or $success='false';
$ftp->put($file) or $filetran="false";
$ftp->quit;

my $sebep;
my $test="true";

if ($success eq "false"){$sebep .="Başarısız ftp girişn.";
        $test="false";}
if ($filetran eq "false"){$sebep .="Başarısızız dosya transferin.";
        $test="false";}

if ($test eq "false") {
        my $baslik="Server Yedekleme Hatası !";
        my $to='sizinmailiniz@google.com';

        BEGIN {
                $ENV{PATH}="/bin:/usr/bin";
                delete @ENV{qw(IFS CDPATH ENV BASH_ENV) };
                }
        open MAIL,"| /usr/lib/sendmail -t -i -F'adresiniz.com' -f'web@adresiniz.com'" or dienice("sendmai calismadi $!");
        print MAIL "To: $ton";
        print MAIL 'Reply-To: web@adresiniz.com';
        print MAIL "Subject: $baslik";
        print MAIL $sebep;
        close MAIL or die("Sendmail hatasi var: $!");
}

print "Yedekleme Bitti ;)";