脚本定时备份数据库

系统上线了,目前线上只有一台阿里云上面mysq服务器,为了防止意外,数据库备份是必须的。本来想再部署一台mysql服务器,做个主从备份的,为了方便还是先

脚本备份一下,后面有空再部署主从。

最简单就是命令mysqldump定时把数据库导出来即可。

脚本文件:backup.sh

#/bin/bash
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi

LOGFILE=/root/database_backup/backup.`date +%m%d`.sql.gz

mysqldump -h127.0.0.1 -u root -p*** mydatabase| gzip > $LOGFILE

/root/database_backup/expect_scp 120.26.*.* user passwd $LOGFILE /home/backup/mysql_backup
~

上面脚本是先导出备份文件 然后scp备份到另外一台服务器上面:

scp备份脚本expect_scp:

#!/usr/bin/expect
set timeout 10
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp $src_file $username@$host:$dest_file
expect {
"(yes/no)?"
{
send "yes "
expect "*assword:" { send "$password "}
}
"*assword:"
{
send "$password "
}
}
expect "100%"
expect eof

然后添加到crontab每天定时执行即可。