流浪汉同步文件夹导致内容被删除

时间:2018-11-08 01:54:43

标签: vagrant virtual-machine virtualbox virtualization synced-folder

我试图添加除默认/vagrant之外的其他同步文件夹。

我已经读过the documentation,它表明这应该很简单:

config.vm.synced_folder "/path/to/somewhere/on/host", "/path/to/guest_directory", create: true

当我将其添加到Vagrantfile中并重新配置时,guest_directory文件夹将显示在主机上的预期位置,但为空。来宾操作系统中的 And 文件夹也为空...这破坏了我的网站,因为这些是网站文件。有趣的是,如果我从Vagrantfile中删除该文件并再次进行重新配置,则文件会重新显示在其原始操作系统中。

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|

  config.vm.box = "ubuntu/xenial64"
  config.vm.network "private_network", ip: "192.168.33.99"

  # NEITHER OF THESE WORK...
  # config.vm.synced_folder "/Users/ESL/Sites/project/web__public_web", "/home/vagrant/web__public_web", create: true
  # config.vm.synced_folder "./web__public_web", "/home/vagrant/web__public_web", type: "rsync", rsync__args: ["--verbose", "--archive", "--delete", "-z"], create: true

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2046"
  end

end

您可以看到我尝试了两个不同的type:选项,并且两个选项都得到了相同的错误结果。我还尝试将符号链接放置到/vagrant/内的项目文件中,但这也不起作用。 (损坏的符号链接显示在主机os目录中,而不是我要访问的文件中)

这里有一些有关我的设置的更多详细信息,以防它们与之相关:

  • 在来宾操作系统中,项目文件位于/ home / vagrant / web__public_web中,但文档根目录为/ srv / www / ...,其中包含指向前一个路径的符号链接。
  • VirtualBox:版本5.2.18 r124319(Qt5.6.3)
  • 流浪者:v2.1.0
  • OSX:10.13.6

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

每个安装都需要一个唯一的ID,如果该盒子已经建立,则需要重新构建它。

Warning in .\libraries\session.lib.php#20
 session_regenerate_id(): Session object destruction failed

Backtrace

 .\libraries\session.lib.php#20: session_regenerate_id(boolean true)
 .\libraries\common.inc.php#637: PMA_secureSession()
 .\server_databases.php#15: require_once(.\libraries\common.inc.php)

答案 1 :(得分:0)

我回答了我自己的问题...

事实证明,同步一直有效。但是我误解了同步的方向性。我期望来宾操作系统中的文件显示在主机目录中,但这是相反的。主机目录上的空文件夹已同步到来宾,并清除了所有文件。

手动将所有文件从guest虚拟机复制到主机目录后,相同的配置按预期工作。

底线:如果要同步现有来宾文件夹及其中的文件,则必须先手动将其移动到主机OS上的位置。