どくたー かじた

日本人の英語学習をイタリアで考えた

transmitのマウントを使ったコピー法で問題。そして一応の解決策。

前回(効率200%UP術!MacのFTPクライアントソフトTransmit: マウントポジションでオラオラ)、Transmitのマウントを使った便利法を紹介しましたが、早くも大問題が分かったので、追記します。

 

 

ローカルからサーバーへファイルを移動させるのは問題ないです。

サーバーからローカルに持ってくるときに問題があります。つまり前回の例で言うと、

cp ./to-fermi/* ./

がある条件の下で問題を起こします。つまり「行きはよいよい、帰りは怖い」です。。。

 

原因は、

マウントされたサーバーディスクがリアルタイムに更新されない。

例えば2日前からマウントをしてそれを保持し続けていると、マウントされたファイルは2日前のままとなることが分かりました(キャッシュに保持しているのか?)。

なので紹介した方法で cp を行うと、2日前の更新されていないファイルを手に入れてしまうのです。

 

これを防ぐ一番簡単な方法は、マウントを一度切って再びマウントする(リマウント)、です。

そうです、とても美しくない方法です。しかしいろいろ調べてみても良い方法がありませんでした、分かる人がいたら教えてください。

GUI操作でリマウントするのはせっかくterminalで閉じていた操作が台無しになってしまうので、せめてterminal操作だけでリマウントする方法を以下に示します。

 

 アンマウントはコマンド操作でできます(例としてサーバー名はfermi)。

umount /Volumes/fermi

マウントが厄介です。Automatorを使います。

f:id:kajitaseijin:20141101062718j:plain

アプリケーションからAutomation を起動します。

f:id:kajitaseijin:20141101062612p:plain

左コラムのLibraryを選択して、検索窓でmountと打つと、transmitのMount機能が出てくるので、これを右側領域へドラッグ&ドロップします。

f:id:kajitaseijin:20141101062620p:plain

サーバーの情報を入れたら保存します。mount_fermi.workflowという名前とします。そしたらterminalで

automator mount_fermi.workflow

でマウントすることができます。。。これでリマウント。

 

このリマウント操作をcpの直前に行えばOKです。一連の操作は適当なスクリプト言語でうまく作れば当面苦労は少なそうですが。。。。これで様子を見てみます。

ただしtransmitaのGUI一瞬立ち上がったり、workflowやスクリプトを書いたりなど、前回のようなすっきりした操作感にはなりません。残念です。今後のtransmitのupdateで解決すると良いのですが。