首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Windows客户端远程备份Linux/Ubuntu服务器?

问如何从Windows客户端远程备份Linux/Ubuntu服务器?
EN

Server Fault用户
提问于 2019-03-26 10:44:27
回答 4查看 5.7K关注 0票数 1

我有一个Ubuntu18.04VPS在一个托管公司。

我管理它通过网页面板和SSH从我的Windows 10客户端。

我想完全远程备份我的VPS,以便将来可能的恢复。

我能从一个赢了的客户那里做些什么?

谢谢

EN

回答 4

Server Fault用户

发布于 2019-03-30 20:34:41

Basics

在大多数情况下,您需要备份三件事情:

  1. VPS客户端上传的文件(即Wordpress中的媒体文件)
  2. 你的数据库(S)
  3. Linux设置(a.k.a )。(/etc下的文件)

其他任何东西都是静态数据,您不应该需要备份它。(也就是说,您可以通过重新安装系统和工具/软件来恢复它)

具有所有属性的

本地备份

假设您在VPS硬盘上有足够的空间,您可以首先创建数据的tarball,这是您认为合适的。例如,我为每个数据库创建一个数据库,以便还原特定的数据库,并拥有一个包含所有内容的大型文件。

代码语言:javascript
复制
# for files
tar cf - /path/to/folder/to/backup | xz -9 > /home/backups/my-files.tar.xz

# for databases
mysqldump db_name | xz -9 > /home/backups/my-database.sql.xz

将它们放在文件夹中(例如,在我的示例中是/home/backups;Ubuntu有/var/backups ),然后用SSH (或SFTP)进行传输。

代码语言:javascript
复制
scp vps:/home/backups/my-files.tar.xz C:\Backups
scp vps:/home/backups/my-database.sql.xz C:\Backups

多备份文件

此外,您可以(可能希望)将一切自动化。在这种情况下,我强烈建议您在文件名中使用日期:

代码语言:javascript
复制
DAY_OF_WEEK=`date + %u`
tar cf - /path/to/folder/to/backup \
             | xz -9 > /home/backups/my-files-${DAY_OF_WEEK}.tar.xz

这样你得到7个不同的文件,当你做转移,你可以选择正确的文件每次。这也给了你几天的时间来发现问题。当然,您可以使用%d,但请记住,这会在VPS上占用大量空间。确保如果增加备份数量,则不会使可用磁盘空间溢出。

注意,tar实用程序和mysqldump将保存所有必要的信息,以便根据需要恢复文件。

传输

最后,做转移。您可以使用SSH,或者,为了确保获得最新版本,可以使用cwRsync。这将使您的文件已经改变,而无需您做很多。

代码语言:javascript
复制
rsync <options> C:\Backups vps:/home/backups

检查rsync文档是否正确。他们有很多。做好测试,确保你做的对。

注意:我在我的Linux机箱之间使用rsync,通过压缩,它工作得很好。但是,它可能在Linux和MS(用户名、权限等)之间不能很好地工作。这就是为什么我建议您首先创建tarball和数据库转储,如前所述。无论如何,有球体是个好主意,因为它们可以被很好的压缩。注意,对于数据库,转储是确保获得正确快照的最简单方法。

安全

自动化时,您需要一个没有密码的密钥。否则,无论何时rsync或SSH传输开始,您都必须呆在计算机前.不实际。

为了允许这样做,我创建了一个特殊的用户,它将拥有自己的帐户(a.k.a )。/home/backups,用户名为backups.提示提示!)我创建一个没有密码的密钥,并且该用户在Linux框上拥有最小的权限。主要是它只能读取数据..。当然,没有sudo或其他这样的高级权限。

备份文件甚至可以在/home/backups下与根用户一起创建,因此不能由backups调整,只能读取以进行传输。这样你就知道那些文件是安全的。

最后一步

现在看来你有了全自动备份..。

井!请确保文件看上去是正确的。即使你有时间,也要尝试恢复。这将是手动的,但希望您不会需要这些备份。(我很少需要我的,我喜欢这样!)

用于备份系统的

复制

您还可能对一个更高级的主题感兴趣:复制。这是您创建VPS第二个实例并获取两台计算机之间复制的所有数据的地方。例如,我知道Hadoop。但是,我不太确定它是否能在Linux和之间很好地工作,因此第二个VPS作为备份.有些数据库系统伴随着这样的复制,比如卡桑德拉。PostgreSQL和MySQL还具有复制机制,可用于备份数据。这将在Linux和之间工作。然而,它可能需要您的计算机在任何时候都要启动和运行.

因此,通过Hadoop复制文件夹和使用复制设置数据库,您还可以实现复制。只是做了更多的工作才能如愿以偿.(还会出现其他潜在的安全问题。)

票数 4
EN

Server Fault用户

发布于 2019-03-28 12:04:56

因为它是一个VPS,你可以访问所有的东西,你可以安装所有你需要的软件。任何您选择的解决方案都可以工作,但是如果您有一个linux服务器来支持它,那么设置类似rsync的东西就更好了。

因为您处理的是Windows客户端,所以您可以使用诸如Bacula之类的东西。这是一个开放源码备份软件,它不需要管理干预,一旦设置。Bacula支持Linux、UNIX和Windows备份客户端。管理员和操作员可以通过命令行控制台、GUI或web界面配置系统。

票数 1
EN

Server Fault用户

发布于 2019-03-28 13:59:22

你试过FTP了吗,那应该就可以了。使用vsftpd作为服务器,并将FileZilla客户机或文件资源管理器构建在FTP客户端中。

要在Ubuntu中安装vsftpd,请运行以下命令:

代码语言:javascript
复制
sudo apt install vsftpd

注意:登录是您的Ubuntu登录,您将从您的主目录开始,在那里您可以导航到根目录。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/960012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档