文件状态备份
在0.10.2中,添加了一项新功能,用于备份由file.managed和file.recurse状态替换的文件。新功能称为备份模式。设置备份模式很容易,但是可以在许多地方进行设置。
可以在minion配置文件中设置backup_mode:
backup_mode: minion
或者可以为每个文件设置它:
/etc/ssh/sshd_config: file.managed: - source: salt://ssh/sshd_config - backup: minion
备份文件
文件将保存在名为的目录下的minion cachedir中 file_backup。文件将位于相对于它们在根文件系统下的位置,并附加时间戳。这应该使它们易于浏览。
与备份互动
从0.17.0版开始,将可以列出,还原和删除以前创建的备份。
清单
可以使用file.list_backups以下命令列出给定文件的备份:
# salt file.list_backups /tmp/foo.txt : ---------- 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
恢复中
恢复很容易使用file.restore_backup,只需传递路径和找到的数字ID file.list_backups:
# salt file.restore_backup /tmp/foo.txt 1 : ---------- 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 为了以防万一,可以file.list_backups再次备份现有文件,可以 再次运行: # salt file.list_backups /tmp/foo.txt : ---------- 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
注意
由于未运行任何状态,因此还原文件不会触发对该文件的任何监视。因此,如果要还原服务的配置文件,则可能仍需要运行service.restart。
删除中
可以使用file.delete_backup以下方法删除备份:
# salt file.delete_backup /tmp/foo.txt 0 : ---------- comment: Successfully removed /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_18:00:19_822550_2013 result: True
















