SNAPPER(8) Filesystem Snapshot Management SNAPPER(8)NAMEsnapper - Command-line program for filesystem snapshot management
SYNTAXsnapper [--global-opts] <command> [--command-opts] [command-arguments]
snapper--help
DESCRIPTION
Snapper is a command-line program for filesystem snapshot management.
It can create, delete and compare snapshots and undo changes done
between snapshots.
Snapper never modifies the content of snapshots. Thus snapper creates
read-only snapshots if supported by the kernel. Supported filesystems
are btrfs and ext4 as well as snapshots of LVM logical volumes with
thin-provisioning. Some filesystems might not be supported depending on
your installation.
CONCEPTS
Configurations
For each filesystem or subvolume that should be snapshotted by snapper
a configuration file is required. The complete setup can be done with
the create-config command.
Snapshots
Snapper distinguishes three types of snapshots.
pre - Pre snapshots should always have a corresponding post snapshot.
The intention of pre/post shotshot pairs is to snapshot the filesystem
before and after a modification.
post - See pre type.
single - These snapshots have no special relationship to other snap‐
shots.
Note that filesystem-wise all three types are the same.
Snapshot Description und Userdata
With each snapshot a description and some userdata can be associated.
The description is a string. The userdata is a list of key-value pairs
where the keys and values are strings.
Automatic Snapshot Creation
Next to manual snapshot creation snapshots are also created automati‐
cally.
cron-job - A cron-job creates hourly snapshots.
certain programs - Certain programs like YaST and zypper create
pre/post snapshot pairs when modifying the system.
Cleanup Algorithms
Snapper provides several algorithms to cleanup old snapshots. The algo‐
rithms are executed in a daily cron-job. This can be configured in the
corresponding configurations files along with parameters for every
algorithm.
number - Deletes old snapshots when a certain number of snapshots is
reached.
timeline - Deletes old snapshots but keeps a number of hourly, daily,
monthly and yearly snapshots.
empty-pre-post - Deletes pre/post snapshot pairs with empty diffs.
GLOBAL OPTIONS-q, --quiet
Suppress normal output. Error messages will still be printed,
though.
-v, --verbose
Increase verbosity.
-t, --table-style
Specifies table style. Table style is identified by an integer
number.
-c, --config <name>
Use specified configuration instead of the default configura‐
tion. The default configuration is named "root".
--version
Print version and exit.
COMMANDSsnapper provides a number of commands. Each command accepts the options
listed in the GLOBAL OPTIONS section. These options must be specified
before the command name. In addition, many commands have specific
options, which are listed in this section. These command-specific
options must be specified after the name of the command and before any
of the command arguments.
help Show short help text.
list-configs
List available configurations.
create-config [options] <subvolume>
Create a new configuration for a filesystem or subvolume. For
this command you will likely need the global option --config,
see GLOBAL OPTIONS and CONCEPTS.
-f, --fstype <fstype>
Manually set filesystem type. Supported values are btrfs, ext4
and lvm. For lvm snapper uses LVM thin-provisioned snapshots.
The filesystem type on top of LVM must be provided in parenthe‐
ses, e.g. lvm(xfs).
Without this option snapper tries to detect the filesystem.
-t, --template <name>
Name of template for the new configuration file.
delete-config
Delete a configuration for a filesystem or subvolume. For this
command you will likely need to global option --config, see
GLOBAL OPTIONS and CONCEPTS.
list [options]
List snapshots.
-t, --type <type>
Selects type of snapshots to list. Possible values are all, sin‐
gle and pre-post.
create [options]
Create a new snapshot.
-t, --type <type>
Specifies the type of the new snapshot. Possible values are sin‐
gle, pre and post.
--pre-number <number>
For post snapshots the number of the pre snapshot must be pro‐
vided.
-p, --print-number
Print number of the created snapshot.
-d, --description <description>
Description for the snapshot.
-c, --cleanup-algorithm <cleanup-algorithm>
Set the cleanup-algorithm for the snapshot.
-u, --userdata <userdata>
Set userdata for the snapshot. The key-value pairs must be
seperated by comma and the key and value must be seperated by an
equal sign, e.g. requestid=42,user=arthur.
--command <command>
Create a pre and post snapshot and run command in between.
modify [options] <number>
Modify a snapshot.
-d, --description <description>
New description for snapshot.
-c, --cleanup-algorithm <cleanup-algorithm>
Set the cleanup-algorithm for the snapshot.
-u, --userdata <userdata>
Set userdata for the snapshot. The key-value pairs must be
seperated by comma and the key and value must be seperated by an
equal sign, e.g. requestid=42,user=arthur.
delete <number> | <number1>-<number2>
Delete a snapshot or a range of snapshots.
mount <number>
Mount a snapshot. Not required for all filesystem types.
umount <number>
Unmount a snapshot. Not required for all filesystem types.
status [options] <number1>..<number2>
Compare the snapshots number1 and number2. This will show a list
of files and directories that have been created, modified or
deleted in the time between the two snapshots have been made.
-o, --output <file>
Write output to file <file>.
diff [options] <number1>..<number2> [files]
Compare the snapshots number1 and number2. This will show a diff
of the content of files and directories that have been created,
modified or deleted in the time between the two snapshots have
been made.
undochange [options] <number1>..<number2> [files]
Undo changes done between snapshot number1 and number2.
-i, --input <file>
Read files for which to undo changes from file <file>.
cleanup <cleanup-algorithm>
Run the cleanup algorithm <cleanup-algorithm>. Currently imple‐
mented cleanup algorithms are number, timeline and empty-pre-
post.
PERMISSIONS
Non-root users can be allowed to use a configuration by setting
ALLOW_USERS or ALLOW_GROUPS in the config file. For all operations to
work the user must also be able to read and access the .snapshots
directory inside the subvolume. The .snapshots directory must be owned
by root and must not be writable by anybody else.
FILES
/etc/sysconfig/snapper
Global configuration file.
/etc/snapper/configs
Directory containing configuration files.
/etc/snapper/config-templates
Directory containing configuration templates.
/etc/snapper/filters
Directory containing filter files.
/var/log/snapper.log
Logfile. Please include this file in bug reports.
NOTES
There is no mechanism to ensure consistency of the files while a snap‐
shot it made. E.g. the files of a database can be inconsistence while
the database is running.
Consistency after undochange is not guaranteed. E.g. when the creation
of a user is undone there might still exist files from that user.
HOMEPAGE
http://en.opensuse.org/Portal:Snapper
AUTHORS
Arvin Schnell <aschnell@suse.de>
SEE ALSObtrfs(8), lvm(8)0.1.2 2012-10-15 SNAPPER(8)