使用PHP备份MySQL数据库,然后加密文件以上载到另一台服务器

使用PHP备份MySQL数据库,然后加密文件以上载到另一台服务器,php,mysqldump,database-backups,mcrypt,Php,Mysqldump,Database Backups,Mcrypt,我已经阅读了一些关于这方面的相关代码片段和建议,但我认为他们之间对于我的任务没有达成共识,所以我将结合一些问题再次提问。另外,其他的都很老了,我想得到一些最新的回复 目标 完全转储SQL DB(以这样一种方式,如果数据库被删除,它可以被导入到MySQL中…)。例如,理想情况下,可以通过PHPMyAdmin导入此sql转储 获取转储文件,通过PHP5对其进行加密(我正在考虑) 获取加密文件,并通过PHP中的SSH2将其上载到远程服务器 删除本地加密文件和本地未加密转储 在背面-我是否需要访问保

我已经阅读了一些关于这方面的相关代码片段和建议,但我认为他们之间对于我的任务没有达成共识,所以我将结合一些问题再次提问。另外,其他的都很老了,我想得到一些最新的回复

目标

  • 完全转储SQL DB(以这样一种方式,如果数据库被删除,它可以被导入到MySQL中…)。例如,理想情况下,可以通过PHPMyAdmin导入此sql转储
  • 获取转储文件,通过PHP5对其进行加密(我正在考虑)
  • 获取加密文件,并通过PHP中的SSH2将其上载到远程服务器
  • 删除本地加密文件和本地未加密转储
在背面-我是否需要访问保存的备份

  • 手动将SFTP导入存储备份的远程服务器
  • 不加载加密备份
  • 解密它
  • 通过PHPMyAdmin手动导入回MySQL

我真的不需要脚本来执行反向过程。如果我需要备份,我已经深入地参与了备份和运行,所以手动解密应该不是问题。不过,除了阅读PHP手册之外,我想确定我知道做这件事的最佳方法。

听起来非常简单,真的

如果您想用PHP编写脚本,那很好。但是,您可能不需要太多PHP功能。您基本上只需要使用简单的控制结构,您将使用它来驱动两个命令行工具,例如mysqldump、gpg(或其他加密实用程序)、scp(将数据发送到异地)和unlink()来删除本地副本


听起来你只需要一些指向命令行工具的指针。我在上面提到了我要用的那个。除此之外,只需将正确的命令行字符串和exec()或shell_exec()组合起来即可。

听起来非常简单,真的

如果您想用PHP编写脚本,那很好。但是,您可能不需要太多PHP功能。您基本上只需要使用简单的控制结构,您将使用它来驱动两个命令行工具,例如mysqldump、gpg(或其他加密实用程序)、scp(将数据发送到异地)和unlink()来删除本地副本


听起来你只需要一些指向命令行工具的指针。我在上面提到了我要用的那个。除此之外,只需将正确的命令行字符串和exec()或shell_exec()组合起来即可。

谢谢tim。我在PHPMySQLAutoBackup中找到了一个很好的预构建解决方案。我正在添加的代码将加密与GPG使用系统()。。虽然这不是没有我目前的困难。如果我继续有GPG问题,我将提出一个新问题…

谢谢tim。我在PHPMySQLAutoBackup中找到了一个很好的预构建解决方案。我正在添加的代码将加密与GPG使用系统()。。虽然这不是没有我目前的困难。如果我继续有GPG问题,我将提出一个新问题