nDiki : ファイル同期

ファイル同期 (file synchronization)

ファイル同期ソフトウェア

  • rsync: 定番。
  • Unison: 双方向同期が便利。
  • WinMerge: ディレクトリ間の差分を個別にマージすることができる。

2009年12月23日 (水)

www.naney.orgさくらのレンタルサーバへ移転

naney.org メールサーバの移転に次いで、Web サーバの移転作業。

静的コンテンツのアップロード

現行 Web サーバUnisonファイル同期している Web コンテンツを、さくらのレンタルサーバUnisonファイル同期

WiKicker のインストール

nDiki 用に DiKicker (WiKicker) を make install。

 %bash
 $perl -MCPAN -e mkmyconfig
 $perl -MCPAN -e shell
   o conf makepl_arg PREFIX=/home/naney/local/WiKicker
   o conf mbuildpl_arg --install_base=/home/naney/local/WiKicker
   o conf commit
   notest install CGI::SpeedyCGI

 $tar zxvf WiKicker-0.420.tar.gz
 $cd WiKicker-0.420
 $export PERL5LIB=$HOME/local/WiKicker/lib/perl5/site_perl/5.8.9
 $perl Makefile.PL PREFIX=$HOME/local/WiKicker
 $make
 $make install

以前きっちり Module::InstallMakefile.PL を作っておいたおかげで、比較的スムーズにインストールできた(自画自賛)。

ちょっとはまったところは CGI::SpeedyCGI の make test を実行する(される)と SSH 接続がサーバ側から切られてしまうという現象にあったところ。 テスト用に大量にスクリプトが起動されるの検出して自動的に kick されたのだろうか。

.htaccess の修正

さくらのレンタルサーバでは .htaccess Options が使えないようなので削除。 ExecCGI や MultiViews が有効になっているようなので問題なし。

いつくかのスクリプトの修正

Perl 5.005_03 用に書いてあったスクリプトについて、Perl 5.8.9 で文字化けしないように utf8 まわりを修正。

cron 設定

1時間毎に実行したい処理を列挙するシェルスクリプトを1つ作って、コントロールパネルから1時間毎に実行するように設定。

現行サーバでは任意の crontab を設定できたので、1時間毎はちょっと物足りない。 おいおい負荷にならない範囲で、外部から定期的に HTTP アクセスして処理を定期的に実行できるようにもするかな。

DNS 設定変更

まだ動いていないスクリプトもあるけれど(大きいところだと NaneyOrgWiki (Wiki))現行サーバの解約日もせまっているので、サーバ移転させてしまうことに。

VALUE-DOMAINDNS サーバ設定を変更し www.naney.orgさくらのレンタルサーバにアクセスできるように A レコードを変更。

今のところ特に重い等もなく順調。 現行サーバでは深夜非常に重くなる時間帯があったのだが、それが無くなるのが嬉しい。 また容量が100MB*1から10GB*2になったので心理的にセーブしなくて良くなった。

年内に移行できて良かった良かった。


[ さくらのレンタルサーバ プレミアム ]

*1メール等別

*2メール他を含む

スポンサード リンク
[ 12月23日全て ]

2011年2月8日 (火)

今日のさえずり: bach ってホスト名、batch と見間違えるから嫌だということが判明

2011年02月08日

  • 09:58 昨日はまだ表示されていなかった Facebook の[アカウント設定]-[設定]-[アカウントのセキュリティ]の[セキュアな接続(https)]が表示されるようになったので設定。 #Facebook
  • 11:11 なんだ、Windows のリモートデスクトップってローカルのドライブをリモートからアクセスできるように簡単に設定できるんだ。ファイル同期とか気にしなくてもいいんだな(速度的な問題がなければ)。
  • 11:18 net use n: \\tsclient\d した。
  • 12:10 野菜を食べようタンメン 398円。 (@ セブン-イレブン 神田佐久間町店) http://4sq.com/dItvAt
  • 13:38 ウイルスバスター ビジネスセキュリティサービスの製品コンソールに入れない。
  • 13:47 ユーザ名間違えてた。 RT @Naney: ウイルスバスター ビジネスセキュリティサービスの製品コンソールに入れない。
  • 13:58 リモートデスクトップ上で起動した Skype、オーディオ設定の[スピーカー]は[リモート オーディオ]になってローカルで音が聞けるけど、[マイク]が[なし]で NG。
  • 14:13 「紙copi」の事業譲渡に関するお知らせがきた。
  • 15:51 これ踏んだか。「Windows 7 または Windows Server 2008 R2 を実行しているクライアント コンピューター上のネットワーク共有のアプリケーションを開こうとするとエラー メッセージ: 0xc000000f」 http://bit.ly/dV5TIa
  • 16:46 結局 Unison で同期かけてる。
  • 18:02 RT @k12u: 【新発見】 rm -rf / より mv /* の方が即効性がある!
  • 18:33 bach ってホスト名、batch と見間違えるから嫌だということが判明。
  • 18:50 リモートデスクトップ先に Strawberry PerlSKKIME をインストールしました。ご了承ください(XKeymacs は手動で立ち上げます)。
  • 19:12 Unison を socket method で使ってしまってゴメンナサイ。
  • 19:43 Windows 7 に自分のアカウントでリモートデスクトップで入って、デスクトップにある邪魔くさいアプリケーションショートカットをバシバシ消しておいたら、その PC のユーザから悲しみの声が。えぇー、そうなん? デスクトップのショートカットってアカウント毎じゃなかったのお。
  • 19:52 @y_aki 管理者権限のついてるアカウントだったのであっさり消せちゃったんですね。
  • 19:58 @y_aki 明日出社したらごみ箱から拾ってみます。
  • 20:48 明日スーツ着て出社予定だけど、前回から1年弱ぶりだよ。去年入社した人は私のスーツ姿知らないんじゃない? 「スーツ着て出社したら大騒ぎになってる (2010-03-30) http://bit.ly/hoj7OD
  • 23:15 NHKオンデマンドで見逃がした番組見る方向で検討中。アクトビラ ビデオ・フルにすればいいのかな。
  • 23:23 Z全然駄目だ。測定サイトで 0.8Mbps だった。
  • 23:39 そういえば PIXUS MP980 って両面印刷できるんだと思ってやってみたら、いきなり用紙つまった。
  • 23:40 紙がちょい厚めだったかな。
[ 2月8日全て ]

2013年3月1日 (金)

UnisonWindowsLinux で双方向ファイル同期 with Plink

Windows 上で作成・更新したファイルをサクッと Linux 上に反映させるのに、やっぱり Unison File Synchronizer を使うことにした。Windows 上の Unison から SSH 経由で Linux 上と同期させる構成ってしたことなかったな。ちょっと調べつつ設定。

Windows

Unison-2.40.102.zip をダウンロードしてきて C:\Uers\Naney\local\Unison-2.40.102 として展開。テキスト版(CLI 版)を使いやすいように unison.exe という名前に変える。

SSH 経由の接続については PuTTY についている Plink を使うことにした。OpenSSH とはちょっと違うので下記のようにバッチファイル C:\Uers\Naney\local\Unison-2.40.102\plinkunison.bat を作る。

 @c:\Users\Naney\local\PuTTY\plink.exe -l naney -ssh remote.example.com unison -server

同期先のホスト remote.example.com にアカウント naney で SSH 接続して unison をサーバとして起動するというバッチファイル。

次に Unison 同期設定を書いたプロファイルファイル c:\Users\Naney\.unison\test.prf を作る(テスト用)。内容は以下。

 root = c:\Users\Naney\unisontest
 root = ssh://naney@remote.example.com/home/naney/unisontest

 sshcmd=c:\Users\Naney\local\Unison-2.40.102\plinkunison.bat

 times = true
 fastcheck = yes

双方の unisontest ディレクトリを同期する設定になってる。

Linux

最新の OCaml (Unisonビルドに必要)と Unison を取ってくる。

 wget http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00.1.tar.gz
 wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.40.102.tar.gz

あとは以前の インストール手順 と同じ流れでインストール。

実行

Windows のコマンドプロンプトから

 unison test

で同期できることを確認。

あとは実際の同期したいディレクトリのペアにあったプロファイルファイルを作っていけば OK。

[ 3月1日全て ]

2015年4月19日 (日)

AirMac Time Capsule共有フォルダとローカルディレクトリとを Unison で双方向同期させる

昨日 Linux から AirMac Time Capsule をマウントできるようになったので次はファイルの双方向同期の設定。AirMac Time Capsule の共有ディスク上に写真を置いて家族共有するのだけれど、AirMac Time Capsule にしかファイルが無い状態は当然避けたいので、ローカルディレクトリとファイル同期しておく。

Unison File Synchronizer

OS X 用の良さそげな双方向ファイル同期アプリが無いかなと探していたんだけれど、これっというのが無いので結局 LinuxFreeBSD 上で長年使っている Unison File Synchronizer を使うことにした。 OS X だといちおう GUI 版もある。Unison はメンテが止まるかなーと思いつつもたまにアップデートされているので今のところまだしばらく使えそう。

OS X と同期

Unison の設定は下記の通り。違う共有ディスクがマウントされている時に間違えて実行しないように mountpoint を指定。パーミッションの変更ができなくて Unisonエラーになるので perms = 0 にしておいた。

 times = true

 root = /Users/naney/archive/family
 root = /Volumes/Data/archive/family
 mountpoint = family-photo

 perms = 0

Linux と同期

Unison の設定は下記の通り。/mnt にマウントした状態で実行する。マウント間違い対策として mountpoint を指定。

 times = true

 root = /home/naney/archive/family
 root = /mnt/archive/family
 mountpoint = family-photo
[ 4月19日全て ]

2018年7月25日 (水)

ノート日記テキストファイルGoogle ドライブ

今までノート日記テキストファイルDropbox で同期していました。 Dropbox の同期については満足しているのですが Android スマートフォンで全文検索でファイルを探して開くということができないのはやはり不便なので Google ドライブに同期するように変更しました。

iOSUlysses で閲覧・編集できなくなるは許容

UlyssesDropbox を同期しておくこと iPhoneノート日記テキストファイルの全文検索・編集ができていたのですが、今回の Google ドライブへの同期先変更でそれができなくなります。

今は Android スマートフォンメインで使っているのでこちらは諦めることにします。

拡張子を txt にする

Google ドライブテキストファイルとして扱ってもらうためには Markdown ファイルの拡張子を md ではなく txt にする必要があります。

過去 txt ファイルに統一して Google ドライブに同期していた事もあったのですが、その時はテキストエディタライティングアプリの都合で結局戻しました。今回全文検索が使えることを優先し、再度 Markdown 形式のノート・日記テキストファイル拡張子を txt に変更しました。

MacUlysses ではそのようなファイルを保存している外部フォルダの「新規シートのファイル拡張子」設定を .txt に変更し、「標準テキスト (.txt) ファイルを Markdown として編集」設定をオンにしておきます。

Android のテキストエディタから直接 Google ドライブの編集を選んで編集する

JotterPadiA Writer・Jota+ が Google ドライブにアクセスできるので、これらでブラウズしてファイルを開き編集できます。

AndroidGoogle ドライブアプリで全文検索してからファイルを開いて編集する

全文検索でファイルを探してから開いて編集するというのは JotterPadiA Writer ではできません。

Google ドライブアプリで全文検索してファイルを選んだあとに Jota+ に渡すと、Jota+ で編集・保存で Google ドライブに書き戻すことができます。全文検索からはこの流れで扱うことにします。単独のライティングアプリで全文検索から直接編集といかないのでちょっと手間ではありますが、今までは探すことすらできなかったのでかなり助かります。

これでどこでもパーソナルナレッジベースにアクセスできるようになりました。やはり過去のノート日記をどこでも検索できるというのは便利でいいですね。

[ ノート・日記はテキストファイルに ] [ ファイル同期 ]

[ 7月25日全て ]

2018年8月9日 (木)

nNoteAndroid スマートフォンに同期して編集する

nNote のエントリはテキストファイルでサーバに置くだけで公開できるようになっていて下記のように同期して運用しています。

 nNote (www.naney.org) <-- 別の Mac から Emacs + TRAMP で編集
   |
  <「Unison」で同期>
   |
 自宅にある母艦 MacBook Pro <-- 編集(メイン)
   |
  <「バックアップと同期」で同期>
   |
 Google ドライブ <-- スマートフォンの JotterPad/iA Writer で編集

これだと外出先では nNoteGoogle ドライブが同期できずちょっと不便。なのでスマートフォンにも同期をすることにしました。

 Android スマートフォン <-- JotterPad/iA Writer で編集
   |
  <「FolderSync Pro」で同期>
   |
 nNote (www.naney.org) <-- 別の Mac から Emacs + TRAMP で編集
   |
  <「Unison」で同期>
   |
 自宅にある母艦 MacBook Pro <-- 編集(メイン)
   |
  <「バックアップと同期」で同期>
   |
 Google ドライブ

FolderSync Pro で SFTP を使って nNote のディレクトリと Android スマートフォンの「Documents/iA Writer/nNote」ディレクトリを同期します(iA Writer のライブラリにある Device (Public) は Documents/iA Writer 固定のため)。

nNote は公開しているものなので、スマートフォン上にはあまりデータを置いておきたくない派ですが今回は許容ということで。

Jota+ などから直接 SFTP 経由で nNote のファイルを編集するという手段もあったのですが、 JotterPad(ブラウズしやすい・バージョンが残るので戻せる)や iA Writer(ブラウズしやすい・簡易チェックボックス機能がある)を使いたいというのもあるので、同期してローカルで編集することにしました。

[ ファイル同期 ]

[ 8月9日全て ]

2019年2月8日 (金)

プレビュー付きテキストファイル一覧表示ができる Android ノートアプリ neutriNote

テキストファイルベースでノート管理をするのに Mac では UlyssesiA Writer を、 Android デバイス上では JotterPad を使っている。JotterPad は主にユビキタスキャプチャ用のフォルダを開いた状態にしているので、フリーノート用に使える Android アプリを別に欲しいところである。

しかしテキストエディタはいろいろ存在するのだけれど、ファイル一覧で中身をプレビュー表示できるものはほとんど無いんだよね。ノートアプリとして使うにはファイル名一覧では駄目で、中身がずらずらっと見られる必要があるのだ。例えば Google Keep の表示みたいに。

で、いろいろ探してみたところ以前から名前は知っていた neutriNote が、テキストファイルとしてデータを保存するタイプでしかも一覧表示でプレビュー表示で中身を横断的に見られそうなのでインストールしてみた。

image:/nDiki/2019/02/08/com.appmindlab.nano.png (play.google.com/store/apps/details?id=com.appmindlab.nano より)

名前なニュートリノからきているらしい。

特徴や使用感

  • Markdown に対応している。良い。
  • タイトル = ファイル名はいったんデフォルトで「New Note (n)」となる(テキストは設定で変更可能)。
  • プレビューは3行。ほとんどのアプリがファイルの先頭を表示するのに対して、末尾を表示するというのが特徴的。追記していくことを想定した UI かな。
  • フォルダ階層は提供しないポリシー。
  • ノートをシェアするとテキストにタイトルも含まれる(Twitter の下書きとして使うにはタイトルが含まれない方が嬉しい)。
  • ウィジェットでホーム画面にノートを表示できる(ただし neutriNote 以外で直接ファイルを削除する場合、ウィジェット表示しているとアプリが落ちるっぽい)。
  • (いい意味で)変態的カスタマイズができる。例えば ~neutrinote_shortcuts という設定ファイルに date|neutriNote$ date +%Y-%m-%d-%H%M%S と記述しておくと、ノート上の date という文字列を選択してテキスト展開ボタンを押すと書式指定した date コマンドを実行してその結果で置換してくれる。

同期

neutriNote はデバイス上に指定したローカルリポジトリ(フォルダ)にテキストファイルとしてデータを保存するので、DropboxGoogle ドライブで同期できる。

neutriNote にもオプションで「neutriNote Connector+」というアプリがあるのだけれど、 Dropbox のアプリフォルダ以下だけのアクセスタイプで作られているので自分の用途に合わなかった。

ので今回は以前から使っている FolderSync Pro で Dropbox と双方向同期させることにした。インスタント同期をオンにしておけば neutriNote で変更を加えたらすぐ Dropbox に同期させられる。Dropbox 側での変更を検知して同期することはできないので別途定期同期を設定しておくとともに、 Android デバイスのホーム画面に同期開始のショートカットを置いておいた。

ちなみに neutriNote ではファイル名が ~で始まるものは隠しファイルなので同期から除外。逆に Ulysses は .Ulysses で始まる隠しファイルを作るのでこれも同期対象から除外にした。

良さそげ!

テキストファイルベースのノート管理というスタイルに超ハマる Android アプリだ。 常用ノートアプリの仲間入り!

[ ノート・日記はテキストファイルに ] [ ファイル同期 ]

[ 2月8日全て ]

2019年12月14日 (土)

Mac での双方向ファイル同期に FreeFileSync を使う

MacBook Pro の内蔵 SSD の容量がいっぱいになってきたので NAS にオリジナルを移動し、そのバックアップとして新しく買った外付け SSD を使うことにした。NAS 上のフォルダと MacBook Pro に接続した外付け HDD 上のフォルダを同期するのに今回 FreeFileSync を使うことにした。

ちょっと古風な UI だけれど良くできている。操作として

  1. 比較ボタンを押して2つのフォルダを比較する。
  2. 同期処理内容を確認してから、同期処理ボタンを押して同期を実行する。

としっかり2段階になっているのが好き。このあたり2003年からリモートホストとの同期に愛用している Unison File Synchronizer と同じ考え方なのでしっくりくる。

同期処理でのファイル削除時にバックアップを作成する設定にもしておける。この設定をしておくことで間違えた時にリカバリもできる。

Unison をリモートホストでも実行できる場合の双方向ファイル同期には Unison を、ローカルホストだけで双方向同期をさせる必要がある場合は FreeFileSync という形で今後使い分けよう(ちなみに Android では FolderSync Pro)。

[ Mac アプリケーション ] [ ファイル同期 ]

動画ファイルを NAS + 外付け SSD に保存するようにする

デジタルカメラで撮った大切な動画はロストしないように

と3台のストレージ上に置かれるようにしている。

3箇所にあるのでそこそこ安心なのと、オリジナルが MacBook Pro 上にあるのでいつでも観ることができるという使い勝手の良さがある。一方 MacBook Pro のストレージを圧迫しちゃう。最近 MacBook Pro のストレージが残り 10GB〜20GB ぐらいになってしまい支障が出てきたので見直すことにした。

NAS にオリジナルを、外付け SSD にバックアップ

オリジナルは NAS (Synlogy DiskStation DS216j) に置くことにしよう。自宅にいればいつでもアクセスできるので動画を観ることができる。

NAS は2台ある HDD のうち1台が壊れても大丈夫にはできているけれども、重要なファイルはバックアップが必要。予算や設置場所を考えて NAS + NAS はちょっと無理なので NAS + 外付け SSD にする。

安くなっていたバッファローの外付け SSD を購入した。

バックアップ方法

外付け SSD へのバックアップだけれど、今後もし自分に何かあった時にも残された家族が使い方に迷わず動画ファイルを観られるように、 Mac につなぐだけで Finder でアクセスできる形式になるようにすることにした。

動画ファイルが増える機会はそれほど頻繁ではないので、 Synology DiskStation DS216j に常時接続しておいて定期的に自動バックアップというのはせずに、 MacBook Pro に外付け SSD を接続して手動でバックアップすることにする。

双方向ファイル同期は今回は FreeFileSync を使うことにした。

180GB 強を今日と翌日で移動完了。ようやく MacBook Pro で余裕をもって作業できるようになったよ。

[ 12月14日全て ]

2020年1月30日 (木)

Pixel 4 で撮った写真は FolderSync Pro で Dropbox

Pixel 4 の DCIM フォルダと Pictures フォルダを Dropbox と FolderSync Pro で定期的に同期させておくことにした。Pixel 4 で撮った写真は、あとで Mac 上で Dropbox フォルダから移動して整理。次の同期タイミングで Pixel 4 からは削除されてスッキリ。

Pixel 4Google フォト「バックアップと同期」を OFF にしたことによるバックアップ不在問題もこれで解決。

スマートフォンから Android アプリ Solid Explorer で Synology DiskStation DS216j (NAS) に移動、 DS216j と Mac は Synlogy Cloud Station で同期という形で Xperia Z5 の時から写真を移動していたのが今まで。 Solid Explorer での一手間が無くなったので、これで後回しにすることが無くなるよ。

[ ファイル同期 ]

[ 1月30日全て ]

2020年2月25日 (火)

テキストエディタをバージョンの自動保存機能がある JotterPad に戻す

FolderSync Pro で Pixel 4Dropbox とでノートテキストファイルのあるフォルダを30分間隔で同期しているんだけれど、同期前にうっかり Pixel 4 上と MacBook Pro の両方で編集して Pixel 4 で書いた分をロストしてしまった。

MacBook Pro 側の変更は Dropbox のバージョン履歴でリカバリできるけれど Pixel 4 側は現状リカバリできるようになっていない。編集中のバージョンを一定間隔で保存してくれる JotterPad にテキストエディタをしばらく戻してみることにした。

JotterPad はいつの間にかクラウドストレージとの同期機能は要サブスクリプションになったのね。クラウドストレージ側のファイルが多いと同期に非常に時間がかかって過去常用できなかった経験があるので、ローカル編集用のテキストエディタとして使い、同期は引き続き FolderSync Pro にしておこう。

[ ノート・日記はテキストファイルに ] [ Android アプリ ] [ ファイル同期 ]

[ 2月25日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.096219s / load averages: 0.42, 0.34, 0.29
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker