如何通过SSH命令行备份网站
备份您的网站或博客可能是一项昂贵且艰巨的任务,需要各种插件或托管服务提供商提供的额外计划——但实际上并非必须如此。
如果您可以通过 SSH 访问您的网站,那么远程执行各种高级任务很容易。 以下是如何在命令行会话中使用 SSH 备份您的网站。
推荐:Ubuntu Linux用户15个高级技巧
什么是 SSH命令行?
SSH 使您能够直接与您的网络服务器对话。 它没有提供漂亮的界面或漂亮的 GUI,只是一个直截了当的强大命令行。 这对某些人来说可能令人生畏,但它提供的强大功能、速度和自动化水平绝对可以成为救命稻草,并使迁移站点的过程变得异常容易。
遗憾的是,默认情况下,许多共享主机不允许 SSH 访问您的帐户。 但是,这种情况正在发生变化,如果您使用的是 Linux 主机,您应该具有 SSH 访问权限。 如果您的网站由 GoDaddy 托管,则应默认启用 SSH。 如果没有,您可以在 GoDaddy cPanel 界面中启用 SSH。 其他网络主机将提供类似的功能。
同时,VPS 和专用服务器网络主机将允许 SSH。 不知道有什么区别? 查看我们的网络托管服务指南以了解更多信息。
如何在您的计算机上使用 SSH
这三个桌面操作系统都具有支持 SSH命令行界面。
只需打开界面,输入 ssh 命令即可使用相关工具。
如果您以前没有使用过命令行环境,其中一些可能看起来很困难。 虽然现在没有时间教你所有关于 SSH 的知识,但这里有几个捷径:
- 使用向上和向下箭头循环浏览先前输入的命令
- 输入长文件名时按 Tab 键 — 如果名称足够独特,则应自动完成
当您对 SSH 感到满意时,就该开始备份您的网站了。
通过 SSH 登录您的网站
首先启动您首选的 SSH 工具并输入以下内容:
ssh username@yourdomain.com
您也只使用 IP 地址。 如果您正在访问尚未分配 URL 的 Web 服务器,或者您正在迁移网站并且 URL 已移动,这将非常有用。
ssh username@YOUR.IP.ADDRESS.HERE
出现提示时输入密码。 如果您以前从未使用过 SSH,当您输入密码时屏幕上没有任何内容时,您可能会感到惊讶。
别担心,这是为了安全。
登录后,您将看到一个命令提示符,如下所示:
-bash-3.2:~$
这意味着一切都很好,所以继续执行这些命令。
首先环顾四周并尝试导航到您的网络目录。 类型:
ls
“列出”当前文件和文件夹。
cd directoryname
更改为目录。 在这种情况下,我将导航到
httpd
目录,这是我网站的根目录。 然后你可以
ls
再次,只是为了确定。
此时,我们已准备好开始 SSH 备份过程。
使用 SSH 备份您的网站数据库
由于您可能会备份 WordPress 安装,因此您需要备份数据库和文件。
您需要三个信息来备份您的数据库。 幸运的是,如果您正在运行 WordPress,这些都可以在 wp-config.php 文件中找到:
- 数据库名称
- 数据库用户
- 数据库密码
(如果您使用不同的数据库驱动的 Web 应用程序,请参阅设置文档了解这些详细信息。)
然后,发出这个简单的命令,确保在必要时替换用户名、表名和备份文件名:
mysqldump --add-drop-table -u [username] -p [tablename] > [backupfilename].sql
点击回车,然后在出现提示时输入您的密码。 运行后,您可以发出另一个
ls
命令来检查文件是否已经输出。 恭喜,这是您数据库中的所有信息作为单个 SQL 文件,可以备份或导入其他地方。
无法使用 SSH 访问数据库
我们假设您的数据库服务器在您托管的同一台服务器上运行。
但是,在 GoDaddy 上,MySQL 数据库存储在您没有 SSH 访问权限的远程服务器上。 在这种情况下,您将需要通过主机的 cPanel 访问 PHPMyAdmin,这超出了本教程的范围。
推荐:如何通过SSH命令行备份网站
使用 SSH 备份网站数据
将数据库存储为服务器上的单个文件后,您可以继续通过 SSH 备份您的站点。 首先导航(使用 cd)到要在其中创建备份的目录。接下来,使用
tar -vcf yourbackupfilename.tar /directory/path
让我们分解一下:
tar
—常见的Linux压缩格式,类似zip但更高效。
-vcf
—简单的选项说“制作一个新的档案,然后告诉我你在做什么”。
tar
—您为存档选择的名称
/directory/path
—指定网站目录的路径
可选的单句点标记可以替代文件路径,指示存档包含所有内容。 你也可以使用 * 作为一个包罗万象的东西,但这会忽略隐藏文件,例如 .htaccess,这对于 WordPress 来说是必不可少的。
运行后,您将拥有一个包含站点上每个文件的 TAR 文件。
此时,您可以通过 FTP 连接并下载站点存档。
使用 SSH 恢复您的网站备份
假设发生了最坏的情况,并且您的网站出现了严重错误。 您有一个包含上周备份的所有内容的 TAR 文件,因此您想恢复它。
首先,通过 FTP 登录并将备份文件上传到服务器的根目录。
首先解压缩所有文件,与我们备份它们的操作相反:
tar -vxf yourbackupfilename.tar
警告:这将覆盖现有文件!
这里的关键区别:
-vxf
— 指示 tar 提取文件而不是创建新备份。
最后一步是将数据库吸回到原来的位置。 首先使用与以前相同的密码和表名设置一个空白数据库。 如果您没有这个,您也需要更改您的站点配置设置。
要恢复数据库,请使用:
mysql -u [username] -p [tablename] < [databasebackupfilename].sql
SSH 网站备份:比 Web 控制台和插件更快
虽然已经发布了各种工具和插件来帮助您进行站点备份,但没有什么比 SSH 更快了。
如果您可以通过 SSH 访问 GoDaddy 或您托管网站的任何人,您现在可以备份网站。 有兴趣了解更多吗? 是时候学习如何使用 SSH 远程管理 Linux 服务器了。