文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>利用perl备份与还原数据库一则

利用perl备份与还原数据库一则

时间:2010-04-22  来源:auqfpe

========================DBbak.pl用于备份============================ #!/usr/bin/perl
use strict;
my $DB_host;
my $DB_user;
my $DB_passwd;
my $DB_name;
my $filename;
my $socket="/var/run/mysqld/mysql5.socket";
my $data=localtime();

print "please input backup hostaddress[ex:192.168.10.5]: ";
$DB_host=<STDIN>;
chomp($DB_host);
if($DB_host eq "")
{
        $DB_host="127.0.0.1";
}
print "please input backup databasname: ";
$DB_name=<STDIN>;
chomp($DB_name);
$filename = "./$DB_name\.sql";
print "please input backup username: ";
$DB_user=<STDIN>;
chomp($DB_user);
print "please input backup password: ";
$DB_passwd=<STDIN>;
chomp($DB_passwd);
my $date1 = time();
system "/usr/local/mysql/bin/mysqldump -h $DB_host -u$DB_user -p$DB_passwd -S $socket $DB_name > $filename";
open(FO, ">>./$DB_name\.log") || die "Cannot Open file:$!";
if(-s $filename)
{
        print FO "$data -- $DB_user backup $DB_name OK!\n";
}
else
{
        print FO "$data -- $DB_user backup $DB_name failed\n";
}
if($!){
        print FO "$data -- $DB_user mysqldump $DB_name OK!\n";
}
else
{
        print FO "$data -- $DB_name mysqldump fail!\n";
}
my $date2 = time();
my $result = $date2 - $date1;  #计算备份数据库所用的总时间.
print "===============================================\n";
print "Backup database used total time: ${result}s.\n";
print "backup data filename: ${DB_name}\.sql\n";
print "backup log filename: ${DB_name}\.log\n";
print "===============================================\n";
========================restore.pl用于还原============================ #!/usr/bin/perl -w
use strict;
my $DB_hostname;
my $DB_user;
my $DB_passwd;
my $DB_name;
my $bak_file;
my $date=localtime();
my $result;
  print "please input connect database hostipaddress: ";
$DB_hostname=<STDIN>;
chomp($DB_hostname);
if($DB_hostname eq "")
{
        $DB_hostname="127.0.0.1";
}
print "please input connect database username: ";
$DB_user=<STDIN>;
chomp($DB_user);
print "please input connect database password: ";
$DB_passwd=<STDIN>;
chomp($DB_passwd);
print "please input restore databasename: ";
$DB_name=<STDIN>;
chomp($DB_name);
print "please input backup file[full path]: ";
$bak_file=<STDIN>;
chomp($bak_file);
my $date1=time();
system "/usr/local/mysql/bin/mysql -h $DB_hostname  -u$DB_user -p$DB_passwd  $DB_name < $bak_file";
open(FILE, ">> ./$DB_name\.log") || die "cannot open:$!";
if(! $!)
{
        print FILE "$date restore $DB_name is OK!\n";
        print "$date restore $DB_name is OK!\n";
}
else
{
        print FILE "$date restore $DB_name is fail!\n";
        print "$date restore $DB_name is fail!\n";
}
my $date2=time();
$result=$date2-$date1;     #计算还原所用的时间.
print "total time: ${result}s.\n";
相关阅读 更多 +
排行榜 更多 +
泡龙大闯关安卓版

泡龙大闯关安卓版

冒险解谜 下载
割草派对安卓版

割草派对安卓版

飞行射击 下载
堡垒攻防战安卓版

堡垒攻防战安卓版

飞行射击 下载