将Cloud9工作区克隆为启用SSH的设置

Joh*_*_10 12 digital-ocean cloud9

我的问题是将Flask内置的Web应用程序迁移到Droplet.

我使用C9中的Flask模板在私有工作区中构建了应用程序.现在它已经开发出来了,我想在数字海洋液滴中设置应用程序.将全新的C9 SSH工作区连接到Droplet很好; 但是,默认情况下SSH工作区没有很多依赖项(mySQL; Flask),这是一个很大的痛苦.我在14.04上使用了Ubuntu NodeJS 6.9.5的Droplet.

有没有办法将我现有的私有开发工作空间克隆到SSH工作区?如果我希望以任何理由取下液滴,那么保持与另一个同步的单个工作空间会更好.

谢谢.

Pri*_*emi 1

为什么不能将磁盘(工作 c9 的数字副本)镜像到新工作场所,然后使用 rsync 进行增量同步。

rsync -azHAXxP -e 'ssh -p22' username@your-droplet-IP \ 
"dd if=/dev/sda of=myworking-droplet.iso bs=512 conv=noerror,sync"
Run Code Online (Sandbox Code Playgroud)

现在您已拥有工作 Droplet 的完整副本作为映像 (.iso) 文件,您可以将其复制到您选择的任何硬盘并启动到其中。

将您的 Cloud9 镜像到 USB

如果您的 C9 文件大小小于 30G,您可以将其复制到 USB 驱动器并维护本地可启动副本,也就是说,您可以将其映像到任何更大的 USB 并使其可启动,以实现此目的:

  • 安装比 ISO 大小更大的 USB。
  • 使用 df -h 或 lsblk -a 检查已安装的闪存驱动器位置
  • 使用以下命令将您的 iso 文件镜像到 USB:

    dd if=myworking-droplet of=/dev/sdb bs=512k conv=noerror,sync

完成后,取出驱动器,将其插入另一台 PC,将启动顺序更改为 USB 驱动器并在本地启动到 C9

将您的 Cloud9 工作区目录同步到另一个盒子

如果您只想通过 SSH 连接将 C9 工作区目录同步到另一个盒子,那就更好了,使用:

`rsync -azHAXxP -e 'ssh -p22' username@your-droplet-IP:/path/to/your/workspace .`
Run Code Online (Sandbox Code Playgroud)

上面的代码会将您的工作区目录克隆到当前的盒子中。 注意:命令末尾的点是必需的。

将 Cloud9 工作区安装到本地计算机

此外,您还可以将远程工作区文件系统安装到本地计算机,以便您可以即时进行更改并将 Droplet 视为本地存储,这样您就可以在本地工作和访问相同的工作区,而无需每次都登录 Cloud9要对您的项目进行更改或工作,以实现此用途:

  • 如果尚未安装 SSHFS,请安装:

    sudo apt-get install sshfs

  • 创建一个本地目录来挂载 Droplet 的文件系统。

    sudo mkdir /mnt/mydroplet

  • 安装您的 Droplet:

    sudo sshfs -o allow_other,defer_permissions \ root@xxx.xxx.xxx.xxx:/ /mnt/mydroplet

如果您的 Droplet 配置为通过 ssh 密钥授权登录,请使用以下命令:

`sudo sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa \
root@xxx.xxx.xxx.xxx:/ /mnt/mydroplet`
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用 Droplet 上的文件,就像它是连接到本地计算机的物理设备一样。

从本地计算机测试您的安装:

`cd /mnt/mydroplet`
Run Code Online (Sandbox Code Playgroud)
  • 创建测试文件

    touch TestFile.php

现在登录您的Clound9并验证您是否可以访问和修改新创建的文件,即TestFile.php

现在您可以在本地编码,它会立即出现在您的 C9 上,或者通过将文件复制到本地安装的目录来将文件从本地计算机上传到 Cloud9。