您的位置:首页 > 数据库

『自动备份数据库+scp上传到另外一台服务器』

2012-06-15 14:35 537 查看
来由:公司服务器是两台cacti 监控机器 所以每周都要备份数据库来同步到另外一台服务器上
顾写下面脚本,脚本分两部分 一部分主体 还有一部分是用expect 写的mysqldump 脚本
主体如下:
#!/bin/bash

#mysqldump rsync

passwd=”"

MYDATE=`date +%Y%m%d`

PORT=`netstat -na|grep “LISTEN”|grep “3306″|awk -F[:" "]+ ‘{print $5}’`

if [ "$PORT" == "3306" ];then

echo “mysql is running……”

expect mysql $passwd > /root/cacti-$MYDATE.sql

if [ 0 -eq $? ];then

echo “mysqldump is OK!!”

else

echo “error mysql is not OK!!”
fi

else

error echo “mysql is not running……”

retun 1

fi

if [ $? != "1" ];then

expect -c ”

spawn scp -P 22 /root/cacti-$MYDATE.sql root@192.168.199.131:/root/

expect {

\”*assword\” {set timeout 300; send \”admin\r\”;}
\”yes/no\” {send \”yes\r\”; exp_continue;}

}

expect eof”

else

echo error “mysqlsync is not OK !!”

fi

第二部分 expect部分
mysql
#!/usr/bin/expect

set passwd [lindex $argv 0]

spawn -noecho mysqldump -u root -p mysql

expect “Enter password:” { send “$passwd\r” ; interact }本文出自 “把爱投资给希望” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐