salt/doc/ref/states/backup_mode.rst

124 lines
3.5 KiB
ReStructuredText
Raw Normal View History

2012-07-27 06:05:01 +00:00
==================
File State Backups
2012-07-27 06:05:01 +00:00
==================
In 0.10.2 a new feature was added for backing up files that are replaced by
the file.managed and file.recurse states. The new feature is called the backup
2012-07-27 06:05:01 +00:00
mode. Setting the backup mode is easy, but is can be set in a number of
places.
The backup_mode can be set in the minion config file:
.. code-block:: yaml
backup_mode: minion
Or it can be set for each file:
.. code-block:: yaml
/etc/ssh/sshd_config:
file.managed:
- source: salt://ssh/sshd_config
- backup: minion
Backed-up Files
2012-07-27 06:05:01 +00:00
===============
The files will be saved in the minion cachedir under the directory named
``file_backup``. The files will be in the location relative to where they
were under the root filesystem and be appended with a timestamp. This should
make them easy to browse.
Interacting with Backups
========================
Starting with version 0.17.0, it will be possible to list, restore, and delete
previously-created backups.
Listing
-------
The backups for a given file can be listed using :mod:`file.list_backups
<salt.modules.file.list_backups>`::
# salt foo.bar.com file.list_backups /tmp/foo.txt
foo.bar.com:
----------
0:
----------
Backup Time:
Sat Jul 27 2013 17:48:41.738027
Location:
/var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:41_738027_2013
Size:
13
1:
----------
Backup Time:
Sat Jul 27 2013 17:48:28.369804
Location:
/var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:28_369804_2013
Size:
35
Restoring
---------
Restoring is easy using :mod:`file.restore_backup
<salt.modules.file.restore_backup>`, just pass the path and the numeric id
found with :mod:`file.list_backups <salt.modules.file.list_backups>`::
# salt foo.bar.com file.restore_backup /tmp/foo.txt 1
foo.bar.com:
----------
comment:
Successfully restored /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:28_369804_2013 to /tmp/foo.txt
result:
True
The existing file will be backed up, just in case, as can be seen if :mod:`file.list_backups
<salt.modules.file.list_backups>` is run again::
# salt foo.bar.com file.list_backups /tmp/foo.txt
foo.bar.com:
----------
0:
----------
Backup Time:
Sat Jul 27 2013 18:00:19.822550
Location:
/var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_18:00:19_822550_2013
Size:
53
1:
----------
Backup Time:
Sat Jul 27 2013 17:48:41.738027
Location:
/var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:41_738027_2013
Size:
13
2:
----------
Backup Time:
Sat Jul 27 2013 17:48:28.369804
Location:
/var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:28_369804_2013
Size:
35
Deleting
--------
Deleting backups can be done using mod:`file.delete_backup
<salt.modules.file.delete_backup>`::
# salt foo.bar.com file.delete_backup /tmp/foo.txt 0
foo.bar.com:
----------
comment:
Successfully removed /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_18:00:19_822550_2013
result:
True