是否有一种简单的方法可以通过命令行在GoDaddy之类的主机上自动备份整个网站?
到目前为止,我知道我需要递归备份主目录中的所有文件。我可能可以使SFTP自动连接并发出get -R *
命令以获取完整的文件转储,或者仅使用SCP。
难题的另一半是使所有表都可用,主要是WordPress表。我的猜测是,也许我可以发出一个命令行命令,将数据库内容转储到平面文件中,然后我也可以通过SFTP提取该命令。如果存在这样的命令,我的计划是使用Telnet和EXPECT脚本的组合来登录GoDaddy站点,发出一些命令,然后断开连接回到我的本地Shell。
最终结果应该是我有一个包含所有服务器内容的文件夹,再加上来自服务器的SQL数据库的平面文件备份。我知道有WordPress备份插件,但是当我只想直接获取原始数据时,它们往往会提供大量的ZIP文件,因此我可以将其放在我的私有SVN服务器中进行备份和版本控制。
所以我的问题是:如何通过命令行将GoDaddy服务器上的所有数据库提取到文件中?
谢谢。
最佳答案
最后,我找到了一个可行的解决方案。
首先,我使用了2个单独的expect
scripts。
Telnet到服务器,删除旧的备份,使用mysqldump
通过mysqldump -u db_owner -p --all-databases > output.sql
将所有表提取到平面文件,并创建所有内容的庞大压缩包。登出。
使用SCP
提取新创建的tarball,将其解压缩到本地SVN控制的工作副本文件夹中。
使用第二个expect
脚本登录到服务器并删除备份。登出。
从那里,我只是根据需要手动svn add
和svn commit
。