バックアップ用のコマンド
バックアップ用のファイルを作成するときに
$ cp hoge.pl hoge.pl.20110222
のように.bakYYYYMMDDのフォーマットでcpしていましたが、ちょっと面倒なのでコマンドを作りました。
function bak { for target in ${*} do opt="-i" if test -d ${target} then opt="${opt}a" target=`echo ${target} | sed -e "s|/$||"` fi backup="${target}.bak`date '+%Y%m%d'`" cp ${opt} ${target} ${backup} echo "make backup : ${backup}" done }
これを.zshrcに書いておくと下記のような感じで使えます。
$ ls Hoge/ Fuga/ hoge.pl fuga.pl $ bak * make back up file : Hoge.bak20110222 make back up file : Fuga.bak20110222 make back up file : hoge.pl.bak20110222 make back up file : fuga.pl.bak20110222 $ ls Hoge.bak20110222/ Fuga.bak20110222/ hoge.pl.bak20110222 fuga.pl.bak20110222 Hoge/ Fuga/ hoge.pl fuga.pl
もちろん、ファイル単体でもOKです。
$ ls hoge.pl $ bak hoge.pl make back up file : hoge.pl.bak20110222 $ ls hoge.pl.bak20110222 hoge.pl
バックアップを作りすぎて管理できなくなってしまっては本末転倒なので、バックアップはほどほどに...