栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

2021-11-05 Mysql远程同步数据库的脚本(expect)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-11-05 Mysql远程同步数据库的脚本(expect)

cat mysql-dump.sh

#!/usr/bin/expect -f
# 变量定义
set HOST "192.168.26.42"
set USERNAME ipms
set PASSWORD ipms
set DB ipms
set DIR "/home/ipms/bs/bin"
set FILE $DB.bak
set DB_USER root
set DB_PASS root

# 传输文件,直到传输完成
spawn mysqldump -u$DB_USER -p$DB_PASS --databases $DB > $DIR/$FILE
spawn scp -P 22 $DIR/$FILE $USERNAME@$HOST:$DIR/$FILE
expect {
    "password" {set timeout -1; send "$PASSWORDn"; exp_continue;}
    "(yes/no)?" {send "yesn";}
}

# SSH登录
spawn ssh $USERNAME@$HOST
expect {
    "password" {send "$PASSWORDn"}
    "(yes/no)?" {send "yesn";}
}

# 恢复数据库
expect "$USERNAME@*"  {send "mysql -u$DB_USER -p$DB_PASS < $DIR/$FILEn"}

# 退出SSH登录
expect "$USERNAME@*"  {send "exitn"}

expect eof

根据实际测试情况

  1. 如果远程已有该数据库,则会被覆盖。
  2. 如果远程无该数据库,则会被增加
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/422254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号