Con_HumiのDEV_LOG

開発メモやガジェットのことをつらつらと.

Vagrantの環境をバックアップ/復元しようと思う

こんにちは.
開発環境をVirtualBox上に構築してVagrantで管理しようとしているCon_Humiです.

ある程度環境が構築できたら,その時点の環境をバックアップしておくことで,
困ったときに以前の環境に戻れるようにしておくと泣くことが少なくなります.

そこで,その方法を調べたのでメモしておきます.

現在の環境をバックアップする

もしゲストマシンが動いているときは

$ vagrant halt

で停止します.
そして,

$ vagrant package --output=backupXXXXXXXX.box

backupXXXXXXXX.boxファイルとしてバックアップすることが出来ます.

追記:1/18
--outputオプションをつけるとなんかエラーが出ました.

$ vagrant package

↑のようにオプション無しで実行すれば成功したので,原因調査中です.
オプション無しで実行した場合,package.boxと言うファイルが出力されます.
:追記終わり

こまめにバックアップしておけば,
困ったときに直前の環境に戻すことが出来そうです.

バックアップファイルから環境を復元する

まず,バックアップとして保存したboxファイルをvagrantに登録します.

$ vagrant add BOXNAME backupXXXXXXXX.box

もし以前と同じディレクトリとリンクさせたいときは,

$ cp Vagrantfile Vagrantfile.bak

などでVagrantfileを退避しておいて,

$ vagrant destroy

して現在のゲストマシンを削除.

$ vagrant init BOXNAME

でバックアップしたboxファイルからゲストマシンを作成します.

$ mv Vagrantfile.bak Vagrantfile

などでVagrantfileを上書すれば以前の設定も引き継がれます.(たぶん)

開発環境つかって開発しないと.........頑張ります.