每周自动将dump.sql文件恢复到其他服务器

我目前正试图find一种方法来自动将dump.sql文件恢复到每周另一台服务器。 我还没有find代码来做到这一点,但在MySQL或命令提示符,但我期待。 我能看到的主要问题是,服务器每天为每个数据库创build两个数据库备份,并且名称每天更改,因为我们将名称存储在date中。

是否有可能设置一些代码,每个数据库一个月恢复一次最新的文件?

我已经做了大量的研究,但是我一直在寻找关于如何创build转储文件的指南,或者如何将一个转储file upload到新的数据库,但是在这个上找不到任何东西。

基本上我会做的是写一个bash脚本 ,每天/一周/月运行一次。

这是一些逻辑(我会这样做)

在备份所在的目录中,您可以通过编辑UNIQUEPARTHERE来获取所需的每个备份的最新版本

 ls -lthr | grep UNIQUEPARTHERE | tail -1 | cut -f9 -d ' ' 

例如:

 $FILE = ls -lthr | grep DATABASE_BACKUP1 | tail -1 | cut -f9 -d ' ' 

以上命令将显示文件名中包含DATABASE_BACKUP1的任何文件的最新备份。

之后,它只是在删除服务器上运行一个mysql命令:

 mysql --user=mysql_username --password=your_password remote_database_name < $FILE --host=IP_OF_REMOTE_SERVER_GOES_HERE 

当然,这是一个粗略的想法,我将如何处理它,基于你使用bash的假设,备份是使用mysqldump创build的;)

祝你好运 :)

您可以尝试SQLyog的 SQL调度程序和报告工具,它允许您安排查询的执行。 它有一个工作代理 ,允许您生成,格式化和发送个性化的邮件与查询返回的结果。 你可以指定一个外部文件(在你的情况下是dump.sql),或者input你想用这个工具执行的查询。 如果您需要按照一定的时间表自动启动作业,则可以使用Windows计划程序保存和计划作业 。

bash文件是好主意

另一种方法是将备份到特定目录导出数据库:

mysql> mysqldump -h主机名-u用户名-p数据库名> backup_db.sql

我把它放到我的web服务器目录,并可以访问http://xxxxx/backup_db.sql

到另一台服务器

只需使用wget http://xxxxx/backup_db.sql并导入到db通过

mysql> source /home/om/Download/dbname.sql

你可以把整个过程自动化成crontab

如果你使用的是unix / linux:

您可以使用CRON执行计划任务(您的案例中每周)

然后使用CRON使用的脚本中的mysql命令行将数据库导入到另一台服务器。

确定最新的文件