Vagrant OEL 8 DevOps · VirtualBox · Files

VagrantSynced Folders for OEL 8

Configure synced folders in Vagrant for OEL 8 VMs. VirtualBox shared folders, NFS, rsync types. Share SQL scripts, configs and database dumps with your VM.

Synced folders allow files to be shared between your host machine and the OEL 8 VM. Changes on either side are reflected immediately. This is extremely useful for sharing SQL scripts, config files, and database dumps without SCP or file transfers.

Ruby — Synced Folders
Vagrant.configure("2") do |config|
  config.vm.box = "generic/oracle8"

  # Default: current directory → /vagrant in VM (always enabled)
  # You can disable it:
  config.vm.synced_folder ".", "/vagrant", disabled: false

  # Share scripts folder
  config.vm.synced_folder "./scripts", "/home/vagrant/scripts"

  # Share SQL files
  config.vm.synced_folder "./sql", "/home/vagrant/sql"

  # Share with specific owner (for MySQL data)
  config.vm.synced_folder "./mysql-data", "/var/lib/mysql-shared",
    owner: "mysql",
    group: "mysql"

  # Read-only share
  config.vm.synced_folder "./configs", "/etc/myapp-configs",
    mount_options: ["ro"]

end
TypeSpeedRequirementsBest for
VirtualBox Shared Folders (default)SlowGuest AdditionsSmall files, scripts
NFSFastNFS on host (Mac/Linux)Large files, DB dumps
SMBFastWindows hostWindows host setups
rsyncMediumrsync installedOne-way sync
Ruby — NFS Synced Folders
Vagrant.configure("2") do |config|
  config.vm.box = "generic/oracle8"

  # NFS requires private network
  config.vm.network "private_network", ip: "192.168.56.10"

  # NFS share — much faster than VirtualBox shared folders
  config.vm.synced_folder "./data", "/data",
    type: "nfs",
    nfs_udp: false

  # NFS with specific options
  config.vm.synced_folder "./sql", "/home/vagrant/sql",
    type: "nfs",
    nfs_version: 4,
    nfs_udp: false,
    mount_options: ["nolock", "vers=3", "udp", "noatime"]

end
⚠ Warning: NFS on macOS requires your sudo password the first time to modify /etc/exports. Vagrant handles this automatically.
Ruby — rsync Folders
Vagrant.configure("2") do |config|
  config.vm.box = "generic/oracle8"

  # rsync — one-way sync from host to VM
  config.vm.synced_folder "./scripts", "/home/vagrant/scripts",
    type: "rsync",
    rsync__exclude: [".git/", "*.log", "*.tmp"],
    rsync__args: ["--verbose", "--archive", "--delete", "-z"]

end
BASH — rsync Commands
# Manually trigger rsync sync
vagrant rsync

# Auto-sync on file changes (watch mode)
vagrant rsync-auto

Share SQL scripts

Ruby — SQL Scripts Folder
config.vm.synced_folder "./sql-scripts", "/home/vagrant/sql"

# Inside VM, run scripts easily:
# mysql -u root -p < /home/vagrant/sql/create_schema.sql

Share database backups/dumps

Ruby — Backup Folder
config.vm.synced_folder "./backups", "/home/vagrant/backups"

# Inside VM:
# mysqldump -u root -p mydb > /home/vagrant/backups/mydb_$(date +%Y%m%d).sql
# File appears on host machine immediately!

Share Ansible playbooks

Ruby — Ansible Folder
config.vm.synced_folder "./ansible", "/home/vagrant/ansible"
Ruby — Folder Permissions
# Fix permission issues for database directories
config.vm.synced_folder "./mysql-conf", "/etc/mysql",
  owner: "root",
  group: "root",
  mount_options: ["dmode=755", "fmode=644"]

# For vagrant user owned folders
config.vm.synced_folder "./scripts", "/home/vagrant/scripts",
  owner: "vagrant",
  group: "vagrant"
💡 Note: VirtualBox shared folders can be slow for large database files. Use NFS for sharing large SQL dumps or data files. For MySQL data directory itself, always use the VM local disk — never a shared folder.