有没有办法让NFS忽略同步文件夹中指定的文件和/或目录?我已经在rsync
中完成了这个操作(rsync__exclude),但是我没有找到任何关于NFS的参考资料。我也在寻找SMB的解决方案。有什么想法吗?
有没有办法让NFS忽略同步文件夹中指定的文件和/或目录?我已经在rsync
中完成了这个操作(rsync__exclude),但是我没有找到任何关于NFS的参考资料。我也在寻找SMB的解决方案。有什么想法吗?
在我的情况下,我必须保持缓存和日志文件不同步,我找到的解决方案是创建符号链接而不是缓存和日志文件夹(例如 app/cache
和 app/log
),该符号链接指向同步文件夹之外的目录(例如 /home/vagrant/project/cache
)。然后,app/cache
内部的文件不会被同步。希望这有所帮助。
vagrant ssh
cd your/webapp
mkdir outside/your/webapp
ln -s outside/your/webapp cache
biDirectionalNFSFolders = []
Dir.foreach('.') do |folder|
# Skip if not a directory?
# Skip if /var folder
# Skip if . or .. folder
next if !File.directory?(folder) or folder == 'var' or folder == '.' or folder == '..'
# This folder can be NFS synced
fullPath = '/htdocs/' + folder
biDirectionalNFSFolders.push(fullPath)
config.vm.synced_folder "." + fullPath, "/vagrant" + fullPath, type: "nfs", mount_options: ['rw', 'vers=3', 'tcp', 'fsc', 'nolock', 'actimeo=2']
end
# The remaining folders (/var only in this case) can then be Rsynced, the NFS folders will be excluded
config.vm.synced_folder ".", "/vagrant", type: "rsync",
rsync__exclude: biDirectionalNFSFolders
/home/vagrant/project/cache
在同步文件夹之外,但在虚拟机内部。 - Manolo