ここでは自作のスクリプトなどを紹介していきます。自由に使っていただいてかまいませんが、無保証です。自己責任でお試しください。

script 01
ホームディレクトリを差分バックアップ

bashスクリプトです。bashの場所は環境に合わせて変更してください。

実行ユーザのホームディレクトリをバックアップします。~/backup/(なければ作成)に圧縮ファイルを作成します。~/backup/log/の中に作られるバックアップログを見れば、いつどのファイルがバックアップされたかが分かります。
前回実行時から変更のないファイルは、バックアップしません。-fをつけて実行すると、強制的にフルバックアップになります。
~/backup/ignoreにディレクトリ名を書いておくと、そのディレクトリはバックアップの対象外になります。

#!/usr/local/bin/bash
#usrbak
#author: mit (mit@atcake.com)
#ホームディレクトリの差分バックアップを行うスクリプト
#$HOME/backup/ignoreに記述したディレクトリは無視される
#-fオプションによりフルバックアップ

backup=${HOME}/backup
lastlog=${backup}/.lastlog
log=${backup}/log
ignore=${backup}/ignore
exitflag="no"

#引数をチェックする
[ $# != 1 -a $# != 0 ] && exitflag="yes"
[ $# = 1 -a "$1" != "-f" ] && exitflag="yes"
if [ ${exitflag} = "yes" ]; then
	echo "Parameter invalid"
	echo "Usage: usrbak [-f]"
	exit 1
fi

#ディレクトリとファイルをチェックする
[ -d ${backup} ] || mkdir ${backup}
[ -d ${log} ] || mkdir ${log}
if [ ! -f ${ignore} ]; then
	touch ${ignore}
	echo "${backup}" > ${ignore}
	echo "${HOME}/.mozilla/*/Cache" >> ${ignore}
	echo "${HOME}/.phoenix/*/Cache" >> ${ignore}
fi

#無視するディレクトリのリストを作成する
ignorelist=`cat ${ignore}`
for dir in ${ignorelist}
do
	param="${param} -o -path ${dir} -prune"
done

#検索し結果をファイルに出力する
if [ -f ${lastlog} -a $# = 0 ]; then
	find ${HOME} ! -type d -newer ${lastlog} \
		-print${param} > ${lastlog}.tmp
	full=""
else
	find ${HOME} ! -type d -print${param} > \
		${lastlog}.tmp
	full="full-"
fi

#圧縮ファイルとログファイルを作成する
day=`date +"%Y%m%d-%H%M"`
tar -cz -T ${lastlog}.tmp -f \
	${backup}/${full}${day}.tar.gz &> /dev/null
[ -f ${lastlog} ] && rm -f ${lastlog}
mv ${lastlog}.tmp ${lastlog}
cp ${lastlog} ${log}/${full}${day}