Raspberry Piで動作させるNode.jsのプロジェクトをリモートで開発すると、いつでも環境を持ち歩かないと開発で着なくなります。そこでハードウェア固有の事項が絡む部分以外は、Mac上のNodeで開発をする事にしました。で、ある程度形になったのでRaspberry Piに転送しようと思うのですが、開発しながらリモートのファイルをいじることもあり得るので、SFTPでの上書き更新では無く、rsyncによる同期を試して見ることにします。参考にしたのはこちら。
rsync でディレクトリの同期(バックアップ) – maruko2 Note.
rsyncがデフォルトでsshに対応しているので、Raspberry Pi側にサーバを追加する必要が無いのがお手軽でよいです。遅いらしいですが、LAN有線なので気になりませんでした。
kawauchiyasuo-no-MacBook-Pro:~ yasuo$ rsync -av -e ssh kt/ pi@raspberrypi.local:/home/pi/kt pi@raspberrypi.local's password: building file list ... done ./ .DS_Store app.js app.js.map app.ts colors.d.ts course.js (中略) typings/main/ambient/ typings/main/ambient/node/ typings/main/ambient/node/index.d.ts www/ www/.DS_Store www/index.html sent 492485 bytes received 47852 bytes 72044.93 bytes/sec total size is 4055183 speedup is 7.50
結構なファイル数を更新しても数秒でした。試しにファイル3つだけ更新して同期させると以下の通り。
kawauchiyasuo-no-MacBook-Pro:~ yasuo$ rsync -av -e ssh kt/ pi@raspberrypi.local:/home/pi/kt pi@raspberrypi.local's password: building file list ... done app.js app.js.map app.ts sent 16119 bytes received 194 bytes 4660.86 bytes/sec total size is 4055202 speedup is 248.59
一瞬です。毎回パスワードの入力をしないといけないのが面倒ですね。このあたりはssh keyで対応できるのでしょう。





納得したらすぐにシェア!