AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 7539
Accepted
Malabarba
Malabarba
Asked: 2010-10-16 07:34:21 +0800 CST2010-10-16 07:34:21 +0800 CST 2010-10-16 07:34:21 +0800 CST

如何通过网络和 Internet 同步我的主文件夹?

  • 772

我使用带有 Ubuntu 桌面的笔记本电脑来完成我的所有工作,但我的办公室也有一个低端桌面,就坐在那里。我决定在上面安装 Ubuntu-server 并使用它来镜像我的整个笔记本电脑主文件夹,以便在我决定格式化笔记本电脑的硬盘时更容易。

每当我在工作时,两台机器都连接到网络并通过 ssh 轻松(和高速)通信。当我不工作时,仍然可以通过 ssh 访问桌面。理想情况下,只要我更改某些内容,同步就会在后台自动进行。它只需要一种方式:我在笔记本电脑上所做的更改必须同步到服务器,但不需要相反。

我知道有这样的软件,我的问题是:我可以使用什么软件来实现上述目标并在工作时充分利用本地网络速度?由于我有时会处理大文件,因此同步过程需要意识到两台计算机共享一个本地网络,然后利用它(而不是总是通过互联网同步)。

需要明确的是,网络同步对我来说实际上比网络同步更重要。理想情况下,该软件会检查前者是否可用,如果没有,请尝试后者;但如果这不可能,第一种情况是我的首要任务。

希望这不会太长。提前致谢。

sync server
  • 6 6 个回答
  • 13231 Views

6 个回答

  • Voted
  1. Best Answer
    Riccardo Murri
    2010-10-16T07:46:14+08:002010-10-16T07:46:14+08:00

    如果您只能通过 SSH 连接到您的办公室服务器,那么您最好的选择是使用rsync:它可以使用 SSH 作为传输协议,并使用智能算法通过仅发送更改的块来加速大文件的传输。

    由于您只需要单向同步,只需设置从您的笔记本电脑到办公室服务器的无密码 SSH 身份验证,然后您可以从一个简单的命令开始:

    rsync -e ssh -a $HOME/ myuser@officeserv:
    

    添加--include和--exclude选项以优化要同步的文件/目录列表。例如,如果两台计算机运行的操作系统不同(相同版本),则传输程序设置(“点文件”)可能会有风险。我的建议是首先排除所有“点文件”(因此,使用 --exclude="$HOME/.[a-z]*"),然后有选择地添加可以安全共享的程序的配置目录(这必须逐个程序查看)。此外,网络浏览器缓存并$HOME/.cache始终可以排除。rsync有关包含/排除规则语法的详细讨论,请参见手册页中的“过滤规则”部分。

    但是,rsync它没有“连续操作”模式,因此您必须定期从 crontab运行它。

    • 11
  2. csgeek
    2010-10-16T08:39:41+08:002010-10-16T08:39:41+08:00

    我建议在 rsync 上使用 rdiff-backup。它几乎只是 rsync++。

    不像 rsync 只是一个传输差异的 1-1 镜像,rsync 有一个历史机制。因此,如果您搞砸并删除了重要的内容,您可以恢复到一周前并将其取回。

    在 ubuntu“服务器”上,您只需要运行 ssh 即可 apt-get install rdiff-backup。

    在客户端。我要么手动运行它.. 要么通过 crontab。

    #!/bin/bash
    
      #backup.sh
    
      rdiff-backup -v5 --exclude path-to-annoyingfile  /home/user/ hostname::/media/data/snapshots/laptop 
      ## this will cleanup any backups older then 2weeks.  Adjust this as needed.
      rdiff-backup --remove-older-than  2W --force  hostname::/media/data/snapshots/laptop
    
    
      #!/bin/bash
      ##Restore.
      rdiff-backup -v5 --restore-as-of now --force user@hostname::/media/data/snapshots/laptop  /home/user
    

    如果您将端口 22 开放到互联网..您应该能够以任何一种方式运行相同的脚本..只需将您的主机名本地解析为您的本地 IP。

    IE。backupSrv.penguins.org 会解析到外部IP。2.3.4.5 但在你的局域网内:到 192.168.1.253

    • 3
  3. Mad Scientist
    2010-10-16T08:06:46+08:002010-10-16T08:06:46+08:00

    据我所知,没有针对您的问题的完整的、预先打包的解决方案。为此,您可能必须自己编写一些小脚本。

    rsync正如 Riccardo Murri 已经解释的那样,同步本身可以由 完成。Rsync 仅传输文件的更改部分,因此非常适合此任务。

    您可以使用NetworkManagerDispatcher在连接/断开网络接口时执行脚本。因此,您可以编写一个脚本来检查您是否在正确的网络上,然后调用 rsync。这样,当您连接到公司网络时,您的数据将自动同步。

    如前所述,要定期同步您的数据,您可以使用 cron。

    通过 ssh 使用 rsync 时,您还应该考虑安全性。要在没有用户干预的情况下进行同步,您需要一个无密码的密钥文件。拥有此密钥文件的任何人都可以访问它所属的服务器。我强烈建议加密您的主文件夹以保护笔记本和服务器上的数据。

    • 2
  4. Mutahir
    2010-10-16T08:12:00+08:002010-10-16T08:12:00+08:00

    投递箱 | 投递箱@超级用户 http://www.dropbox.com/help/137

    DropBox 在你的情况下应该很好,适用于 Linux、mac、windows,易于设置和管理。

    下载投递箱

    https://superuser.com/questions/147315/dropbox-to-sync-nix-home-folders

    http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders

    通读一遍 - 它确实支持通过符号链接同步,如果有某些文档、图形、电子表格您必须同步 - 您仍然可以在保管箱中维护它们的副本或将它们永久保存在保管箱位置以节省麻烦。

    • 1
  5. user60876
    2012-05-27T01:25:45+08:002012-05-27T01:25:45+08:00

    尝试 Sparkleshare:http ://sparkleshare.org/

    Ubuntu repo 中有一个客户端,它有关于如何在他们的网站上设置服务器的说明。

    • 1
  6. mpathy
    2015-12-16T11:18:35+08:002015-12-16T11:18:35+08:00

    2015年最好的解决方案应该是Seafile:https ://www.seafile.com/en/download/

    Sparkleshare 开发人员说他们的工具适用于许多小文件,尤其是文本文件,但不适用于较大的二进制文件。

    在性能方面,它优于 Sparkleshare 和 Owncloud。

    另外,它比 OwnCloud 的资源消耗少得多 - 因此实例可以在 Banana 或 Raspberry 上运行,而不会像 24/7 运行的计算机那样出现任何问题。(不过我会推荐 Banana Pi,因为千兆网络和 SATA 接口,至少对我来说,它是文件服务器的不错选择。)

    我将我的主文件夹与三台计算机同步。我排除了点文件,它们是通过 git repo 和一些逻辑处理的,因为 - 正如里卡多所提到的 - 在不同的计算机上共享点文件和其他配置存在一些问题,即使它的操作系统和版本相同。例如考虑monitors.xml,或者笔记本电脑和多屏桌面上的IDE的一些不同布局——或者在两台计算机上打开的程序。

    除了同步之外,我还通过 borgbackup 备份了这些数据。它是一个非常不错的新备份程序,可以进行重复数据删除,在初始备份后速度非常快,并且具有许多工具所缺乏的许多功能。

    它对我来说是完美的设置。

    • 0

相关问题

  • 如何从命令行刻录双层 dvd iso

  • 保持多个工作站同步

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve