>데이터 베이스 >MySQL 튜토리얼 >Linux服务器数据库(MySQL、Oracle)简单的异地备份方案

Linux服务器数据库(MySQL、Oracle)简单的异地备份方案

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 17:23:461214검색

Linux服务器数据库(MySQL、Oracle)简单的异地备份方案

Linux服务器MySQL数据库简单的异地备份方案

首先简单说下:

1、执行脚本导出数据库。

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db/backup.sql

2、使用scp将导出的数据库文件传输到其他服务器上,,一般进行异地备份,容灾。

scp -P 195 /bak/db/backup.sql root@xxx.xxx.xxx.xxx:/bak

其中195为ssh端口号,如果是默认的22,可以省略 -P 22。

-----------------------------------------------------------------------------------------------------------------

现在需要编写一个sh脚本,并设定到定时任务中

sh脚本内容如下:

#!/bin/sh 
 
filename=`date '+%Y%m%d-%H%M%S'` 
filename="${filename}bak.sql" 
 
mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db/${filename} 
 
scp -P 195 /bak/db/${filename} root@xxx.xxx.xxx.xxx:/bak 
 
echo "success" 

sh文件不要忘记使用 chmod +x backup.sh 进行授予可执行权限。

假设我们将sh文件存放与opt目录下,需要配置一下定时任务

编辑文件:vi /etc/crontab 设定每天凌晨4点半执行

30 04 * * * root /bin/sh /opt/db/backup-database.sh

可以使用命令:cat /var/log/cron  查看定时任务执行日志

如上处理后,服务器就会自动进行数据库备份并上传到异地服务器上了,但是有个问题还需要解决,那就是让scp命令不需要密码才行。

具体配置方法参考我的另一篇文章:

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.