Archive for the ‘Unix’ Category

terminal

前回の記事

lftpで自動的にcdとlcdコマンドを使って環境を合わせる方法 » WisdomTrees : http://wisdomtrees.net/?p=707

の続きです。

lftpで自動的に目標のサーバーへmirror出来るようになったので、更に発展させてローカルでの編集を監視して、即座にサーバーに反映させるような仕組みを作りました。

まず前回作ったコマンドを使ってlftp mirrorをする仕組みをシェルスクリプト化します。

そしてディレクトリの監視には、fswatchというソフトを使います。

でinstallできます。

Linux環境だと似たようなのにinotify-toolsというものがあるようです。

あとは、自分が編集しているディレクトリを監視させて、変更があった場合にはtarget_mirror.shを実行する仕組みを作ります。

これで、ファイルを保存したタイミングで自動的にlftp mirrorコマンドが実行され、ローカルの変更が即座にリモートに反映されます。

terminal

継続的に開発をするサーバーについては、lftpでsftp接続をしてMirrorコマンドを使ってやる事があります。

毎回 lftpで接続した後に指定のディレクトリに移動して、ローカルディレクトリも合わせて、

などをするのがつらくなってきたので自動化の方法を探しました。

まず、lftpで通常どおりサーバーに接続し、そこをbookmarkしてあげます。

次に、

と -e オプションを使う事によって、こんな風にリモート、ローカルともにディレクトリ移動を自動化できます。
-eオプションはlftpから抜けないので、そのままlftp内で操作を継続できます。
反対に、-cオプションを使うと、lftpから抜けてしまいます。

mirror -Rをするのだけが目的であれば

としても良いかもしれませんね。