Heim  >  Artikel  >  Datenbank  >  Linux下备份MySQL数据库Shell脚本以及PHP脚本

Linux下备份MySQL数据库Shell脚本以及PHP脚本

WBOY
WBOYOriginal
2016-06-07 16:58:29963Durchsuche

由于DB的丢失造成了很大的损失,于是写了个Linux下备份Mysql数据库的脚本,起初是php版本的,后来发现服务器的PHP配置中限制了系

由于DB的丢失造成了很大的损失,于是写了个Linux下备份Mysql数据库的脚本,起初是php版本的,后来发现服务器的PHP配置中限制了系统函数的调用,于是又写了个shell版本的,感觉shell真晦涩,有点像程序设计语言中的文言文,呵呵。总之是能用啦,先不考虑其他吧。

SHELL版本:

#! /bin/bash
db_user="root"  #数据库用户名
db_pwd="123456" #数据库密码
target_dir="/home/jony/database_bakup/" #备份的目录
dbs="product_db  forum_db blog_db  sns_db" #要备份的数据库,以空格分开
#下面就是循环备份了
for db in $dbs;do
    mysqldump -u$db_user -p$db_pwd $db | gzip >${target_dir}${db}_$(date +%F)".sql.gz"
done  

shell的语法就不说了,我也实验了多次,不太习惯

如果服务器上没有很多限制的话,不如用其他语言来实现,,比如python,php等,毕竟看起来舒服点

PHP 版本:

$db_user = "root";
$db_pwd = "123456";
$date = date("Ymd");
$target_dir = "/home/jony/database_bakup/";
$db_array = array("mysql", "phpmyadmin");

foreach($db_array as $db_name){
    $command ="mysqldump -u ".$db_user." -p".$db_pwd." ".$db_name." | gzip> ".$target_dir.$db_name."_".$date.".sql.gz";
   system($command);
}
?>

记录一下,兴许你也用的上。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn