» Snapshot

Command: vagrant snapshot

This is the command used to manage snapshots with the guest machine.Snapshots record a point-in-time state of a guest machine. You can thenquickly restore to this environment. This lets you experiment and try thingsand quickly restore back to a previous state.

Snapshotting is not supported by every provider. If it is not supported,Vagrant will give you an error message.

The main functionality of this command is exposed via even more subcommands:

» Snapshot Push

Command: vagrant snapshot push

This takes a snapshot and pushes it onto the snapshot stack.

This is a shorthand for vagrant snapshot save where you do not needto specify a name. When you call the inverse vagrant snapshot pop, it willrestore the pushed state.

Warning: If you are using push and pop, avoid using save and restore which are unsafe to mix.

» Snapshot Pop

Command: vagrant snapshot pop

This command is the inverse of vagrant snapshot push: it will restorethe pushed state.

» Options

  • —[no-]provision - Force the provisioners to run (or prevent themfrom doing so).

  • —no-delete - Prevents deletion of the snapshot after restoring(so that you can restore to the same point again later).

  • —no-start - Prevents the guest from being started after restore

» Snapshot Save

Command: vagrant snapshot save [vm-name] NAME

This command saves a new named snapshot. If this command is used, thepush and pop subcommands cannot be safely used.

» Snapshot Restore

Command: vagrant snapshot restore [vm-name] NAME

This command restores the named snapshot.

  • —[no-]provision - Force the provisioners to run (or prevent themfrom doing so).

  • —no-start - Prevents the guest from being started after restore

» Snapshot List

Command: vagrant snapshot list

This command will list all the snapshots taken.

» Snapshot Delete

Command: vagrant snapshot delete [vm-name] NAME

This command will delete the named snapshot.

Some providers require all "child" snapshots to be deleted first. Vagrantitself does not track what these children are. If this is the case (suchas with VirtualBox), then you must be sure to delete the snapshots in thereverse order they were taken.

This command is typically much faster if the machine is halted prior tosnapshotting. If this is not an option, or is not ideal, then the deletioncan also be done online with most providers.