お手軽バックアップスクリプト
手軽さを最優先にしたバックアップ作成スクリプト。
.bashrc に書いておくことにする。
bkdir=~/bk bk() { if [ -z "$1" ]; then echo "Usage: bk FILENAME [LOG]" exit 1; fi if [ ! -d $bkdir ]; then mkdir $bkdir if [ $? ]; then exit 2; fi fi fname=`basename $1`_`date +'%y%m%d%H%M'` /bin/cp -iv "$1" $bkdir/$fname if [ -n "$2" ]; then echo `date +'%y-%m-%d %H:%M'`" : $2" >> $bkdir/`basename $1`.log fi } kb() { if [ -z "$1" ]; then echo "Usage: kb BACKUP_FILENAME" exit 1; fi if [ -z "$2" ]; then fname=`basename "$1" | sed -e 's@_[0-9]*$@@'` else fname="$2" fi /bin/cp -iv "$1" "$fname" }
使用例
[~:0]$ bk hoge.c hoge.c -> /home/ao/bk/hoge.c_0610262156 [~:0]$ kb ~/bk/hoge.c_0610262156 overwrite hoge.c? (y/n [n]) n not overwritten [~:1]$ kb ~/bk/hoge.c_0610262156 renamed /home/ao/bk/hoge.c_0610262156 -> renamed
[追記:2006-10-31]
ログを書けるようにした。
Windows でお手軽バックアップを行うにはこのソフトが便利:
須雲川
http://www.forest.impress.co.jp/lib/sys/file/syncbackup/sukumogawa.html
バックアップを削除するときは単に
find ~/bk -mtime +30 -delete
という感じで。
やってることはほとんど「Windows のゴミ箱相当スクリプト」と同じだな。
ところで他の人はどんなファイル削除の仕方をしているんだろう。私は単に
alias rm='gomi' gomi () { /bin/mv "$@" ~/.gomi }
だけど。