Chef の template でファイルを更新する場合,デフォルトで5世代まで Chef が自動的にバックアップしてくれていることを知った.
最高に便利な機能だ...!
昔に手動で構築されて期待値が曖昧になっている環境に対してリバースエンジニアリング的に Chef + Serverspec を実装しているときは,とにかく「現在稼働してる設定」が重要になる.今日作業中にバックアップを忘れて template を更新してしまって焦ったけど,ドキュメントを読んだら全然大丈夫だった.
The number of backups to be kept in /var/chef/backup (for UNIX- and Linux-based platforms) or C:/chef/backup (for the Microsoft Windows platform). Set to false to prevent backups from being kept. Default value: 5.
/var/chef/backup
困ったら /var/chef/backup
を見るとバックアップが残ってる.助かった!
$ ls -l /var/chef/backup/etc/nginx/conf.d/default.conf.* -rw-r--r-- 1 root root 4394 Feb 8 18:27 /var/chef/backup/etc/nginx/conf.d/default.conf.chef-20160414195531 -rw-r--r-- 1 root root 3802 Apr 14 19:55 /var/chef/backup/etc/nginx/conf.d/default.conf.chef-20160414200804 -rw-r--r-- 1 root root 3997 Apr 14 21:05 /var/chef/backup/etc/nginx/conf.d/default.conf.chef-20160414210807 -rw-r--r-- 1 root root 3926 Apr 14 21:08 /var/chef/backup/etc/nginx/conf.d/default.conf.chef-20160414211552 -rw-r--r-- 1 root root 2316 Apr 14 21:15 /var/chef/backup/etc/nginx/conf.d/default.conf.chef-20160414211732