Maison > base de données > tutoriel mysql > le corps du texte

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

WBOY
Libérer: 2016-06-07 16:58:29
original
1017 Les gens l'ont consulté

由于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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal