快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

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

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

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脚本内容如下:


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命令不需要密码才行。

具体配置方法参考我的另一篇博客:http://blog.csdn.net/catoop/article/details/8284803

下面说一下oracle与mysql的不同之处

oracle备份一般情况需要使用 su-oracle 切换到oracle用户下才能执行,下面说一下直接在root用户下如何进行操作。

特殊的地方就是,有的操作需要root用户(比如无密码scp操作,我这里只是举例),有的操作需要oracle用户(exp导出用户)。

关键命令:su-oracle-c “/opt/expdatabase.sh”

意思是在root用户下不需要切换到oracle用户,而直接使用oracle用户的角色执行 expdatabase.sh 文件。

我们需要在 root 下的 sh 文件中调用 expdatabase.sh 文件。

shell 脚本如下:

1、主 sh 脚本,root 执行


2、需要用oracle用户的角色来执行的sh脚本 expdatabase.sh


相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638