[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:35612] Re: ファイルを同期するスクリプト



有家@松山記念病院です。

date: Sun, Dec 15, 2002 at 10:58:42AM +0900
from: Yamagata Yoriyuki <yoriyuki@xxxxxxxxxxxxxxxx>
>
> ファイル2つだけなのでちょっと大袈裟かもしれませんが、unison というツー
> ルもあります。
> 
> apt-cache show unison
> 
> もしスクリプトの動作中にファイルを変更しちゃったら、なんて考え出すと自
> 分で作るのは結構大変だと思います。


unisonのことは初めて知りました。さっそく使ってみます。
私は以下のような自前のbash関数を使っていました。

function zcp { # update directory B with A; same as 'zcopy /s/t/u/x A B' in DOS
	local src dst

	if [ $# -ne 2 ]; then
		echo "title: update directory B with A by 'cp -dvrup' as 'zcopy /s/t/u/x' in DOS"
		echo "       by Yoshinori Ariie <PBA00250@xxxxxxxxx>"
		echo "usage: zcp A B"
		return
	fi
	src=${1%/}
	dst=${2%/}
	test ! -d $src && echo "$src not directory" && return
	test ! -d $dst && echo "$dst not directory" && return

	if [ x${src##*/} = x${dst##*/} ]; then # case of same name directory
		cp -dvrup $src ${dst%/*}
	else # case of different name directory
		( shopt -s dotglob; cp -dvrup $src/* $dst )
	fi
}

DOSのVz editorの作者のc.mosさんの書いた zcopy というツールと
部分的に同じ動作をするように考えました。

# 最強のファイル同期ツールは rsync だと思うのですが
# 扱いかたを間違えると泣きます (..);


-- 
pba00250@xxxxxxxxx
yoariie@xxxxxxxxxxxxxxx
-------------------------
有家佳紀  Yoshinori Ariie