CodingFirst

C言語、Perl、JavaScript、最近はPythonも。出来上がったものより、プログラムを書くことが好き。あと、スイーツ。

スポンサーサイト

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FC2ホームページに lftpでミラーリング

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

FC2ホームページへのFTPでのアップロードに lftpを使用する。

だがその前に、考えた選択肢

  • lftp
  • Cyberduck (Mac用FTPクライアントソフト)
  • FireFTP (Firefox用FTPクライアントプラグイン)
  • ftpfs + rsync

一番良さそうなのは Cyberduck。見た目が分かりやすく,奇麗。 接続後の「アクション」で「同期」を選ぶとアップロード、ダウンロード、 ミラーリングがファイル単位で選択できる。たぶん常用するだろう。

さて、lftpはCUIでミラーリングするのによく使われているみたいで、 作業をスクリプト化する目的で丁度よいと思われる。その時のために練習。

lftpのインストール

$ sudo port install lftp

portの lftpはちょっと古い。最新版はソースからビルドが必要っぽい。めんどくさいのでパス。

lftpの起動

$ lftp -u {user} {url}
Password: {password}

パスワードは毎回、手打ちする方が好み。bookmarkしておく手もある

$ lftp
lftp :~> open {user}@{url}
Password: {password}
lftp :{user}@{url}:~> bookmark add {name}
(次回から)
$ lftp
lftp :~> open {name}
Password: {password}

パスワードを覚えておく設定が可能だけど、使わない。

ミラーリングアップデート

lftp :{user}@{url}:~> mirror -R -n --delete --dry-run
  • -R: ミラーリングアップデート。-Rをとるとダウンロードになる
  • -n: 新しいファイルだけ転送。ローカルとサーバでタイムスタンプが異なると期待通りに転送されないので、割と使わない方がよい?
  • --delete: ローカルにないファイルはサーバ上から削除する
  • --dry-run: 動かしたフリ。画面表示に満足いったら --dry-runをとって本番実行する

これだけ知ってれば十分そう。おまけで転送除外設定。適宜追加する。

$ cat ~/.lftp/rc
set mirror:exclude-regex "(^|/)(\\.in\\.|\\.nfs)|debug\/|.DS_Store|.*\.(o|bak)"

それにしても --dry-run時(に限らないけど)の出力が分かりづらい。スクリプト化した時には整形が必要かも...

スポンサーサイト

 | HOME | 

Search

Recent Entries

Foot Print



Categories

Monthly

Recent Comments

Recent Trackbacks

Profile

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。