ディスクのバックアップ from Command Line

調べてみたら、ディスクユーティリティで出来るらしいのを知って。

» 以前作成した DVD-R ビデオディスクをコピーする方法

そしたら diskutil とかコマンドを並べることで同じような作業を楽ちんに出来たりしやしないだろうか、と考えたわけです。

gui 上での具体的詳細な手続きについては、上述サイトはじめ色々見つかるでしょうから、そちらを参照いただくと言うことで。

色々調べて試行錯誤した結果、
gui 上でやっていることは、diskutil じゃなく hdiutil で、
かつ hdiutil makehybrid でなく hdiutil convert だったと。

今回の最終的な答えは、ここ。

» OSX Tips – Copy a DVD from the Command Line DGKApps – Blog

「ディスク DVD_DISK のバックアップを取りたい」と言うシーンを例に

gui 上でのシナリオを追いながらだと、

# 01: ソース "DVD_DISK" を選択 (確認)
diskutil list
# → 結果、対象のディスクは `/Volume/DVD_DISK` で `/dev/disk1` である事が分かったとする
# 02: [新規イメージ] を選択し、[イメージフォーマット] から [DVD/CD マスター] を指定して [保存] 実行
hdiutil unmount /dev/disk1
hdiutil convert /dev/disk1 -format UDTO -o $HOME/Desktop/DVD_DISK_BKUPDATA
# → 終了後、デスクトップに DVD_DISK_BKUPDATA.cdr と言うファイルができるはず
# 03: ディスクを取り出す
diskutil eject /dev/disk1

unmout した後、念の為にもう一度、diskutil list 挿し込んで device node *1 を確認しておいた方がいいかも。

これで、出来た DVD_DISK_BKUPDATA.cdr を別のディスクに焼きたければ、;

hdiutil burn DVD_DISK_BKUPDATA.cdr -noverifyburn -noeject

とかとなるようですし (未確認)、
みんなしたがる iso にするのならば、こんな 感じで、;

hdiutil makehybrid -iso -joliet -o DVD_DISK_BKUPDATA.iso DVD_DISK_BKUPDATA.cdr

hdiutil makehybrid 使うと良いみたい。(未確認)
また先の hdiutil convert の出力ファイルで拡張子を "iso" にしてやるでも 良いみたい。(未確認)

終わりに、気になった事。

  • hdiutil unmount {volume} の "volume" は、パス /Volume/DVD_DISK でも良い。
  • だけど、hidutil convert {image} の "image" では、パスは使えない。
  • hidutil convert {image} -format {format} -o {outfile} の "outfile" のパスは、file。当然ですが。
    パスがディレクトリの態だったら、そのディレクトリがファイル名になってデータが作られる。

詳細は man hdiutilman diskutil とか、
あと こちらも日本語で分かり易くまとめられております

ということで、
この操作、何度も繰り返すようなシーンが考えられるのでしたら、シェルスクリプト作ってしまうのも良いかも。

おしまう。

*1:でいいのでしょうか...