我是一家小公司的网络管理员。我们的网站托管在自己的服务器上。网站运行在 PHP 和 MySQL 上。我通过 SSH 访问服务器。
我不太熟悉 UNIX/LINUX 命令,但之前的 Web 管理员向我提供了有关如何备份网站的说明。基本上,我需要将 mysqldump 操作导出到服务器上的 .sql 文件,然后将其移动到本地安全位置。我通过 zip 操作备份网站并通过 FTP 下载。
我无法访问 Apache 服务器配置,因此无法在 PHP 中启用 shell 命令。但是,我想编写某种简单的批处理程序,可以访问 shell、登录并自动运行一系列命令。然后管理员只需下载这些文件即可(或者更好的是,下载过程也可以自动化)。
这真的可能吗?如果可能的话,你能告诉我从哪里开始了解这样的事情吗?我甚至不知道要搜索什么。
非常感谢。
答案1
我认为,最简单的解决方案是在服务器端设置一个cron
作业,转储 SQL 数据库、复制相关文件、将所有内容打包到存档中并移动到 FTP 文件夹。
完成此操作后,可以手动下载文件,或者例如使用 同步到远程计算机rsync
。
一些相关链接:
答案2
我们有类似的设置。我们每天使用以下命令生成数据库备份:自动mysql备份。在 automysqlbackup 中,您可以设置一个“后脚本”,它将在 mysql 备份后调用。在这个后脚本中,我们有一些 rsync 命令,它们会将所有文件同步到另一台服务器。AMB 由 cron 作业在晚上调用。
所以我们的解决方案和 Andrejs 提供的解决方案类似,只是我们有一个专门用于 mysql 备份的工具。
当备份工作完成时,AMB 可以生成一封电子邮件。这也非常好。