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

时间:2017-08-17 12:25:15

标签: digital-ocean cloud9

我的问题是将Flask内置的网络应用迁移到Droplet。

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

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

感谢。

1 个答案:

答案 0 :(得分: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"

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

将您的Cloud9映像为USB

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

  • 安装USB尺寸大于iso的尺寸。
  • 使用df -h或lsblk -a
  • 检查已安装的闪存驱动器本地设置
  • 使用以下命令将您的iso文件映像到usb:

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

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

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

如果您只想同步C9工作区目录,情况会好一些 通过SSH连接到另一个盒子,使用:

`rsync -azHAXxP -e 'ssh -p22' username@your-droplet-IP:/path/to/your/workspace .`

以上内容将您的工作区目录克隆到当前框中。 注意:命令末尾的点是必要的。

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

您还可以将远程工作区文件系统安装到本地计算机,以便进行更改 飞行并将您的液滴视为本地存储,这样您就可以工作了 无需登录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`

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

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

`cd /mnt/mydroplet`
  • 创建测试文件

    touch TestFile.php

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

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