Created
December 12, 2012 10:42
-
-
Save i97506051502/4266806 to your computer and use it in GitHub Desktop.
OS X Mountain Lion: 重要なアプリケーションファイルのバックアップ (http://support.apple.com/kb/PH10941?viewlocale=ja_JP) に列挙されているファイルのバックアップを取得します。 バックアップから 7 日間が経過したファイルは削除されます。 リストアしたいときは解凍してからファイルを戻してください。 UNIX の礼儀に沿わず、フルパスでバックアップしてしまっていますがその点はご容赦ください。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
######################################################################## | |
# | |
# Script Name: | |
# backup_macosx_important_data | |
# | |
# Project: | |
# Miscellaneous | |
# | |
# Execute User: any user you want | |
# | |
# crontab | |
# SHELL=/bin/bash | |
# 0 5 * * * sh -x backup_macosx_important_data DOC DESK ITUNES MAIL IPHOTO ADDR CAL SAFARI FONTS KEYS STICK PREFER 1>./backup_macosx_important_data.log 2>./backup_macosx_important_data_error.log | |
# | |
# Description: | |
# | |
# Usage: | |
# ./backup_macosx_important_data DOC DESK ITUNES MAIL IPHOTO ADDR CAL SAFARI FONTS KEYS STICK PREFER | |
# | |
# Advaned Usage: | |
# | |
# Last Update: 2012/12/12 | |
# | |
# Authored by Go Sato (ZOOM DESIGN) | |
# | |
######################################################################## | |
#!/bin/bash | |
cd ~ | |
# ====================================================================== | |
# 環境変数の設定 | |
# ---------------------------------------------------------------------- | |
DATE=`date -v-1d +"%Y-%m-%d"` | |
# ====================================================================== | |
# ====================================================================== | |
# フォルダ設定 | |
# ---------------------------------------------------------------------- | |
# ベースフォルダ | |
BACKUP_BASE=~/backup/macosx_important_data | |
SOURCE_BASE=~/Library | |
# ********************************************************************** | |
# データ量が大きい場合は BACKUP_BASE のパスを外部記憶媒体にするなどしてください。 | |
# ********************************************************************** | |
# 書類 | |
DOC_SOURCE=~/Documents | |
DOC_BACKUP=${BACKUP_BASE}/Documents | |
# デスクトップ | |
DESK_SOURCE=~/DeskTop | |
DESK_BACKUP=${BACKUP_BASE}/Desktop | |
# iTunes | |
ITUNES_SOURCE=~/Music/iTunes | |
ITUNES_BACKUP=${BACKUP_BASE}/iTunes | |
# メール | |
MAIL_SOURCE=${SOURCE_BASE}/Mail/V2 | |
MAIL_BACKUP=${BACKUP_BASE}/Mail | |
# iPhoto | |
IPHOTO_SOURCE=~/Pictures/iPhoto\ Library | |
IPHOTO_BACKUP=${BACKUP_BASE}/iPhoto | |
# 連作先 | |
ADDR_SOURCE=${SOURCE_BASE}/Application\ Support/AddressBook | |
ADDR_BACKUP=${BACKUP_BASE}/AddressBook | |
# カレンダー | |
CAL_SOURCE=${SOURCE_BASE}/Calendars | |
CAL_BACKUP=${BACKUP_BASE}/Calendars | |
# Safari | |
SAFARI_SOURCE=${SOURCE_BASE}/Safari | |
SAFARI_BACKUP=${BACKUP_BASE}/Safari | |
# フォント | |
FONTS_SOURCE=${SOURCE_BASE}/Fonts | |
FONTS_BACKUP=${BACKUP_BASE}/Fonts | |
# キーチェーン | |
KEYS_SOURCE=${SOURCE_BASE}/Keychains | |
KEYS_BACKUP=${BACKUP_BASE}/Keychains | |
# スティッキーズ | |
STICK_SOURCE=${SOURCE_BASE}/StickiesDatabase | |
STICK_BACKUP=${BACKUP_BASE}/Stickies | |
# その他の環境設定 | |
PREFER_SOURCE=${SOURCE_BASE}/Preferences | |
PREFER_BACKUP=${BACKUP_BASE}/Preferences | |
# ====================================================================== | |
# main | |
# CATEGORY are DOC DESK ITUNES MAIL IPHOTO ADDR CAL SAFARI FONTS KEYS STICK PREFER | |
for CATEGORY in $@ | |
do | |
SOURCE=`eval echo '${'$CATEGORY'_SOURCE}'` | |
BACKUP=`eval echo '${'$CATEGORY'_BACKUP}'` | |
if [ ! -d ${BACKUP} ] | |
then | |
mkdir -p ${BACKUP} | |
fi | |
tar jcvf ${BACKUP}/${DATE}.tar.bz2 ${SOURCE} | |
done | |
# ====================================================================== | |
# House Keeping | |
# ---------------------------------------------------------------------- | |
cd ${BACKUP_BASE} | |
find . -mtime +7 -type f -exec rm -f {} \; | |
# ====================================================================== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment