2007年5月28日星期一

Use TotalCommander to Synchronize Folders

老爷的 IBM 硬盘夏天的时候总是隆隆作响,不知道是不是要 crash 的前兆。硬盘上保存了那么多文章、代码、图画、日记和照片,还是做一做 backup 的好,于是就把他们都拷贝到移动硬盘了。可是过了几天,发现自己经常需要修改代码和照片,每次备份的时候如果要先删除原来的版本,然后拷贝新版本真不是一件有效率的事情。于是就写了一个脚本来做这种 dirty work

#!/usr/bin/bash
# incremental backups to removable disk

localdir='d:/home/workingdir/projects/thesis'
remdir='g:/backups'
timestamp=$localdir/incrbackup.last
exclude=$localdir/incrbackup.exclude

cd $localdir/.. || exit

datestr=$(date '+%Y%m%d%H%M')
outfile="d:/home/temp/$(basename $localdir)-$datestr.tgz"

tar zcvfl $outfile -X $exclude \
$(find $(basename $localdir) -type f -newer $timestamp ! -name '.*.swp' ! -name '*~' -print)

mv -f $timestamp $localdir/,incrbackup.last
echo "Timestamp file for $0. Don't modify." > $timestamp
echo "Now copying this file to $remdir:"
ls -l "$outfile"
cp "$outfile" "$remdir"

最近发现原来 total commander 有一个同步文件夹的功能,对于像我这种只做 pc 备份,用不着 cvs 或者 svn 之类东东的菜鸟来说已经非常足够非常好用了。

选择需要备份的文件夹和移动硬盘的目标文件夹,选择“同步文件夹”,再点击“比较”,结果就出来了,可以选择查看两边不同的文件、左边有右边没有的、右边有左边没有的。

对于任何一个文件,都可以选择需要同步还是保留,对于两边都有但是不同的文件,还可以方便的比较具体的内容。

选择之后,点击“同步”,ok,你的文件已经按要求备份好了。

没有评论: