Tuesday 3 November 2020

file を持ってくるスクリプト

こんな感じなんですけどね。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: