PogoPlugをrsyncで同期

OpenPogoにより ipkg のインストールが可能になったので、rsyncでの同期を試みることにしました。

基本的には既存のファイルサーバ(ホスト名:marvel・・・・実体は玄箱PROです)からファイルを引っ張ってくるだけにしました。

できればファイルサーバ側からPogoPlugにファイルを置きにくる形を取りたいところですが、PogoPlugはDHCPでIPアドレスを取得するのでIPアドレス固定での設定ができません。そこで、PogoPlug側からファイルを取りにくる形をとりました。

大きな設定の流れは以下の通りです。

  • PogoPlug(OpenPogo)にはrsync,openssh,cronなどをインストール
  • インストール後、ssh-keygenでパスフレーズなしの鍵ペアを生成して、公開鍵をサーバ側に転送してPogoPlug側からパスワード無しでsshログインできるようにする
  • rsyncコマンドで必要な範囲を同期するスクリプトを作成する
  • crontabで定期的に同期するようにする

同期のためのスクリプトはPogoPlugに接続しているHDDのデバイスファイルが変化することがあるので、こんな感じでHDD上のフォルダ有無で転送する先を確認するようにしました。

#!/bin/sh
if [ -d /tmp/.cemnt/mnt_sda/MARVEL ]
then
{
 rsync -a -e "ssh -i /root/.ssh/id_rsa.marvel" root@192.168.1.5:/home/common/ /tmp/.cemnt/mnt_sda/MARVEL
}
fi
if [ -d /tmp/.cemnt/mnt_sdb/MARVEL ]
then
{
 rsync -a -e "ssh -i /root/.ssh/id_rsa.marvel" root@192.168.1.5:/home/common/ /tmp/.cemnt/mnt_sdb/MARVEL
}
fi
if [ -d /tmp/.cemnt/mnt_sdc/MARVEL ]
then
{
 rsync -a -e "ssh -i /root/.ssh/id_rsa.marvel" root@192.168.1.5:/home/common/ /tmp/.cemnt/mnt_sdc/MARVEL
}
fi
if [ -d /tmp/.cemnt/mnt_sdd/MARVEL ]
then
{
 rsync -a -e "ssh -i /root/.ssh/id_rsa.marvel" root@192.168.1.5:/home/common/ /tmp/.cemnt/mnt_sdd/MARVEL
}
fi

これでコマンドラインからはrsyncが動作するのですが、なぜかcronからは動作しません。もう少し調整が必要なようです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)