将服务器站点备份为一个自动化过程?

将服务器站点备份为一个自动化过程?

我是一家小公司的网络管理员。我们的网站托管在自己的服务器上。网站运行在 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 可以生成一封电子邮件。这也非常好。

答案3

我同意其他人的观点,在服务器上设置 cron 作业和脚本通常是最好的选择,但如果需要从你的桌面或其他机器启动,你可以考虑使用普林克设置批处理脚本,然后在任务管理器中进行设置,然后您就可以添加FTP到脚本的末尾或者单独的任务上。

相关内容