自己写的,大家多指教。
mysqldump _ all。sh[first |本地|帮助}
先修改脚本进行必要的配置,然后以根用户执行。
1.第一执行远程备份时先用第一参数。
2.本地备份用当地的参数
3.远程备份不用参数注意一
注意:需要在另一主机上的关系型数据库用户用添加用户.
需要配置的地方:
#定义主机和关系型数据库密码
远程主机='' #远程主机名或互联网协议(互联网协议)
REMOTE_PASSWORD='' #远程主机的关系型数据库中的root@本地主机密码。
#定义数据库路径
DB_PATH='/var/lib/mysql' #本地关系型数据库数据库路径
LOCAL_PASSWORD='' #本地关系型数据库根目录用户密码
DB_BACKUP_PATH='/root/db_bk' #本地备份时数据保存的路径
NO_BACKUP_DB=' '设置本地数据库中不想备份的数据库名,用空格隔开
直接下载
#!/bin/sh
# mysqldump_all.sh
#这个脚本是用来备份关系型数据库数据库的!
#定义主机和关系型数据库密码
REMOTE_HOST=' '
REMOTE_PASSWORD=' '
#定义数据库路径
DB_PATH='/var/lib/mysql '
LOCAL_PASSWORD=' '
数据库备份路径='/root/db_bk '
#定义哪个数据库没有备份,用空格写数据库名!
#示例;
# NO_BACKUP_DB='yns test ps_note '
#这表示如果数据库名称是" yns "或“测试”或" ps_note ",则不要备份它们!
NO_BACKUP_DB=' '
#获取数据库名称并逐个处理
"开始备份…";
#ls /var/lib/mysql /tmp/mydb.all
如果[ '$1 '=' help '];然后
对于" ls $DB_PATH "中的DB;做
if_backup='1 '
if[-d $ DB _ PATH/$ DB];然后
对于$否_备份_数据库中的noBackDB做
if(test ' $ db '=' $ noBackDB ');然后
#echo -n ' '
if _ backup=
船方不负担装货费用
完成的
if[$ if _ backup];然后
案例' $1 '在
首先)
回声报首先在远程主机上创建数据库[$db!'
result=' MySQL admin-h $ REMOTE _ HOST-PASSWORD=$ REMOTE _ PASSWORD create $ db '
如果[!$ result];然后
回声."成交!";
其他
回声.着火了。'检查您配置的请吧!
回声远程主机说:$ result '
出口
船方不负担装货费用
;
本地)
#备份到本地主机目录。
如果[!-d $ DB _ BACKUP _ PATH];然后
mkdir $DB_BACKUP_PATH
船方不负担装货费用
echo -n '[ $db ].用' gzip '备份到本地$数据库备份路径
if[-e ' $ DB _ BACKUP _ PATH/$ DB。gz '];然后
mv $ DB _ BACKUP _ PATH/$ DB。gz $ DB _ BACKUP _ PATH/$ DB。1 .gz;
船方不负担装货费用
MySQL dump-password=Walte # Ming $ DB | gzip $ DB _ BACKUP _ PATH/$ DB。地面零点
回声.'好吧'
;
*)
#做常用备份!
echo -n '[ $db ].做后援!====$ REMOTE _ HOST/$ db '
MySQL dump-add-drop-table $ d b-PASSWORD=$ LOCAL _ PASSWORD | MySQL-h $ REMOTE _ HOST-PASSWORD=$ REMOTE _ PASSWORD $ db
回声."[好]";
环境系统应用中心环境系统应用程序中心
其他
回显"[$ db]";
回声' * * *此数据库设置为不备份!"操作取消!";
船方不负担装货费用
其他
回显"[$ db]";
回声' * * *警告!不是数据库。备份已取消* * * '
船方不负担装货费用
完成的
其他
回声用法:mysqldupm _ all。sh[firs | local | help]'
回声有些问题问walte yh @搜狐。com’;
船方不负担装货费用
#结束所有备份操作!
回显"";
注意:如果关系型数据库出现错误消息,你应该首先检查你的配置!
出口