こんな感じなんですけどね。rsync は --files-from=FILE ってのがあるので、もっと綺麗に書けるはずですが、
まぁ、動いているから良いか。バックスラッシュの数が笑える。.svn とかCVSとかが時代だな。
Dropbox は嫌いなので使ってません。source doe は hg/gitなので、こういうのは使わない。
このscriptは、もっぱら家と学校とノートPCでファイルを移動する時に使う。事務系のファイルが多いな。
事務は MS Team を使う羽目になってるはずだが、紙で抵抗しているようなのがいるという噂。
もっとも、MS Teamなんか使われると、こっちが迷惑説もあるかな。
量が少ないなら Home directory を rsync ですますんだが、まぁ、そうもいかず。
file event とって自動的に同期とかも面白そうではあるが...
#!/bin/zsh
host=insigna
test=
flag="-zavE"
for file in $*; do
case $file in
/*)
dest="$file:h"
file=`echo $file| sed -e 's/ /\\\\\\\\\\\\ /'`
dest=`echo $dest| sed -e 's/ /\\\\\\\\ /'`
( cd / ; $test rsync $flag --progress "$host":"$file" "$dest" --exclude .svn --exclude CVS --exclude .cvs ) ;;
*)
here=`pwd`
dest="$here"/"$file"
dest="$dest:h"
file=`echo $file| sed -e 's/ /\\\\\\\\\\\\ /'`
dest=`echo $dest| sed -e 's/ /\\\\\\\\ /'`
$test rsync $flag --progress "$host":"$file" "$dest" --exclude .svn --exclude CVS --exclude .cvs ;;
esac
done
No comments:
Post a Comment