sshfsで別コンピュータへのアクセスを迅速に行う

シェアする

Pocket

昨日アップしたグラフ作成で、出来上がったHTMLファイルを、直接、ブログのフォルダにコピーすることが出来ます。Linuxは、色々便利なコマンドがありますが、知らないと何もできませんね。

1.コマンド sshfs

このコマンド sshfs は、SSHを使用して、リモートのファイルシステムをローカルにマウントすることができます。

sshfs:これによってリモートにあるファイルを直接ローカルのエディタで編集したり、 cpコマンドやmvコマンドなどでリモートのファイルを操作できるようになる。

60爺は、以下のページを参考にしました。

sshでリモートサーバーをマウント、便利にsshfs

注意点ですが、以降の処理は、su – となってrootで実行してください。そうしないと、思いも寄らないエラーが出てしまうことがあります。

60爺は、思いっきり巻き込まれて、無駄な時間を食ってしまいましたので、老婆心ながら一言、言わせていただきました。グループも作る必要はありません。

pi@raspberrypi:~ $ su -
パスワード:

◆インストール

$sudo aptitude install sshfs

◆マウント

ブログのフォルダ(192.168.xxx.110:/var/www/hxxx/)を /home/pi/Raspiにマウントします(mkdir Raspiでフォルダは作ってください)。

$ sshfs xxxxxxx@192.168.xxx.110:/var/www/hxxx/ /home/pi/Raspi
192.168.xxx.110のPSW入力

マウントの状況を見ると、上記のマウントがちゃんと設定されています。

root@raspbian:~# df -h
ファイルシス                          サイズ  使用  残り 使用% マウント位置
/dev/root                                14G  5.8G  6.6G   47% /
devtmpfs                                426M     0  426M    0% /dev
tmpfs                                   430M     0  430M    0% /dev/shm
tmpfs                                   430M   44M  387M   11% /run
tmpfs                                   5.0M  4.0K  5.0M    1% /run/lock
tmpfs                                   430M     0  430M    0% /sys/fs/cgroup
/dev/mmcblk0p6                           66M   22M   45M   32% /boot
tmpfs                                    86M  4.0K   86M    1% /run/user/1000
/dev/mmcblk0p5                           30M  398K   28M    2% /media/pi/SETTINGS
mizutan@192.168.XXX.110:/var/www/hXXX    14G  7.6G  5.0G   61% /home/pi/Raspi</code></pre>

それでは、ファイルのコピーをしてみます。

$ cp /xxxxxxx/python_pg/graph_data/xxxxxxxx_display.html /xxxxxxx/Raspi
root@raspberrypi:~# cd /home/pi/Raspi
root@raspberrypi:/home/pi/Raspi# ls
a bbb index.html robots.txt
aaa.html google0d1004b35e65e97d.html index.html.bk xxxxxxxx_display.html

ちゃんと、コピーされてます。

2.電源オフ/オンの対策

停電その他で、ラズパイが落ちた時、マウントは元の状態に戻ってしまいます。

このような場合、上記、マウントを実施する必要があるのですが、早々実施してもいられないので、起動時に上記コマンドをやる方法がないか調べてみました。

その結果、起動時に /etc/rc.local に、コマンドを記入しておけばよいとのことがわかりましたので、次のよう(太字部分)に対応しました。

なお、パスワード指定が必要になりますので、パスワードをパイプでつなぐ形を取っています。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ “$_IP” ]; then
printf “My IP address is %s\n” “$_IP”
fi# 起動時に実行したい処理
cd /home/pi/Raspi
rm *
echo XXXXXXXXXXXX | sshfs -o password_stdin /home/pi/Raspi/ mizutan@192.168.XXX.110:/var/www/hXXX
exit 0

スポンサーリンク

シェアする

フォローする