ホーム » Linux » pogoplugfsを使う

pogoplugfsを使う


--- 広告 ---
--- 広告 ---

日経Linux5月号にpogoplugの記事が掲載されていたので購入。

pogoplugfsを使ってLinuxのドライブとしてマウントできると書いてあったので、ubuntuとCentOSでためしてみました。
ubuntuはすんなりとpogoplugのドライブをマウントできましたが、CentOSでlibfuse.so.2がインストールされておらず起動できませんでした。

yum install sshfs を実効してlibfuse.so.2をCentOSにインストール。

CentOSでもpogoplugfsを使えるようになりました。

夜中にcrontabとスクリプトでファイルを定期的に自動uploadしたいので、Expectというツールを使ってスクリプトを作成します。

expect
指定された文字列(「”」に囲まれた文字)と標準入力のデータとを正規表現で比較し、一致するまで以降の命令を実行しません。
set timeout
設定した秒数の間、標準入力から応答がないとexpectは、終了します。上記例だと、5秒でタイムアウトする設定になります。「-1」を設定すると、タイムアウトしない設定になります。
send
指定された文字列(「”」に囲まれた文字)を先に実行したコマンドのジョブに送信します。つまり、「hogehoge38\n」とパスフレーズを入力したことになります。文字列最後の「\n」は、改行(Enterを押下)を意味します。
interact
実行ジョブの標準入出力をキーボードと画面にします。これで、自動実行を終了し、端末からsshでログインしたのと同じ状態になります。

参考URL:
expectコマンドの使い方
システム管理者必携?、悪魔のツール「Expect」
expectコマンドで、scpを自動化するためのスクリプト

初心者のプログラムメモさんのページより引用
------------------------------------------------------------------------
#!/bin/bash

HOST=対象ホスト名(IPアドレス)
USER=ログインユーザ
PASS=パスワード
TARGET_DIR=バックアップディレクトリ(ファイル)
BACKUP_DIR=保存先ディレクトリ

expect -c "
set timeout 60 ←タイムアウトの時間は環境にあわせて設定してください
spawn scp -Cpqr ${USER}@${HOST}:${TARGET_DIR} ${BACKUP_DIR}
expect {
\" Are you sure you want to continue connecting (yes/no)? \" {
send \"yse\r\"
expect \"password:\"
send \"${PASS}\r\"
} \"password:\" {
send \"${PASS}\r\"
}
}
interact
"
------------------------------------------------------------------------

expect -cオプション:ダブルクォートで囲った複数行を自動対話処理する
spawn コマンド : コマンドを実行する
expect : 対話の受信
send : 対話の送信
interact : 対話の終了
"\r"に関しては、ttp://kansai.anesth.or.jp/gijutu/expect/doc-expect.php#answerを参考にさせていただきました。


追記:この方法は、あくまでLAN内を想定しています。
--- 広告 ---
--- 広告 ---

 

この記事に関連する記事一覧

目 次
最近の投稿
--- 広告 ---
--- 広告 ---
お問い合わせ