Mac OS Xのdittoコマンドを使ってデータのバックアップを取る。

2015年6月28日

dittoコマンドは、 ファイルやフォルダをコピーするのに使われるコマンドです。

ditto コマンドの特徴は、「-rsrcFork」 オプションをつけることでリソースフォークを含んだ形でのバックアップが可能です。 このため、あるユーザのホームディレクトリを丸ごと外付けハードディスクにコピーしてバックアップを作成するといったことが可能です。

viで以下を入力してbackup.shという名前でホームディレクトリに保存します。

#!/bin/sh
rm -fr /Volumes/DATA_2/backup/user_backup_old
mv /Volumes/DATA_2/backup/user_backup /Volumes/DATA_2/(続く)
backup/user_backup_old
ditto -V -rsrcFork /Users/hoge /Volumes/DATA_2/backup/user_backup

意味
1行目 シェルスクリプトの宣言。
2行目 1世代前のバックアップデータ/Volumes/DATA_2/backup/user_backup_oldを消す。
3行目 最新のバックアップデータ/Volumes/DATA_2/backup/user_backupを/Volumes/DATA_2/backup/user_backup_oldに変える
4行目 /Users/hogeのホームディレクトリを/Volumes/DATA_2/backup/user_backupにコピーする。-Vのオプションはコピーの状況をターミナルに表示する。

シェルスクリプトに実行権限を与えるため、ターミナルから

$ chmod 755 backup.sh

を行ないます。

バックアップを取りたい時にターミナルから

$ ~/backup.sh

を実行します。