vagrant/website/source/docs/cli/snapshot.html.md

2.8 KiB

layout page_title sidebar_current description
docs vagrant snapshot - Command-Line Interface cli-snapshot The "vagrant snapshot" command is used to manage snapshots of the guest machine.

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 then quickly restore to this environment. This lets you experiment and try things and 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 need to specify a name. When you call the inverse vagrant snapshot pop, it will restore 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 restore the pushed state.

Options

  • --[no-]provision - Force the provisioners to run (or prevent them from 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, the push 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 them from 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. Vagrant itself does not track what these children are. If this is the case (such as with VirtualBox), then you must be sure to delete the snapshots in the reverse order they were taken.

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