コンソール端末からwebサーバにアクセスする際、クライアントを使うのが('A`)マンドクセというあなたに。
私はubuntu10.10を使っているが、他のバージョンやディストリビューションでも似たようなことはできるだろう。まずは必要なパッケージをインストールしてしまおう。
1 | washi@wabuntu:~$ sudo aptitude install curlftpfs |
curlftpfsの使い方を確認しよう。オプションは色々あるが、私の場合はこれだけでなんとかなっている。
1 | washi@wabuntu:~$ curlftpfs server.address.jp ~/mountdir -o user=username:password |
本来ならばこれだけで任意のディレクトリにマウント出来るはずだ。しかし、私の場合ここで以下のようなエラーが出た。
1 | washi@wabuntu:~$ curlftpfs server.address.jp ~/mountdir -o user=username:password |
2 | fusermount: failed to open /etc/fuse.conf: Permission denied |
http://linux.dsplabs.com.au/forums/ubuntu-linux-help/ubuntu-fuse-failed-to-execに対処法が書かれているので、このとおりにやってみる。
1 | washi@wabuntu:~$ sudo chmod +x /bin/fusermount |
2 | washi@wabuntu:~$ sudo chmod a+rwx /etc/fuse.conf |
これで変なメッセージは表示されなくなったはずだ。
次にやりたいことの手順を確認。私はホスティングサービスに、NINJA-TOOLSを使っているのでマウント先は~/ninjaとする。にんにん。
- $HOME下にninjaディレクトリを作成
- ウェブサーバのルートを~/ninjaにマウントする。
- アップロードは、~/ninjaへファイルをコピーするだけ!
- ~/ninjaをアンマウントし、空になった~/ninjaは削除する。
これらの手順をスクリプトにまとめる。シェルスクリプトの勉強を兼ねて、マウントするときは
1 | washi@wabuntu:~$ ./myscript.sh mount |
アンマウントするときは
1 | washi@wabuntu:~$ ./myscript.sh umount |
とするだけでサーバーのディレクトリをマウントできるようにした。
08 | echo "使い方: $CMDNAME アクション" 1>&2 |
10 | echo "\tmount - FTPサーバのROOTディレクトリを $MOUNTDIR にマウントします。" 1>&2 |
11 | echo "\tumount - $MOUNTDIR をアンマウントします。" 1>&2 |
20 | if [ "$1" = "mount" ]; then |
21 | echo "mount アクションが選択されました。" 1>&2 |
22 | echo "マウント先は $MOUNTDIR です。" 1>&2 |
24 | curlftpfs server.address.jp $MOUNTDIR -o user=username:password |
25 | elif [ "$1" = "umount" ]; then |
26 | echo "umount アクションが選択されました。" 1>&2 |
27 | echo "$MOUNTDIR をアンマウント後、空になったディレクトリを削除します。" 1>&2 |
28 | fusermount -u $MOUNTDIR |
これで、~/ninja 以下にファイルをコピーするだけでアップロードすることができるようになったはずだ。
0 件のコメント:
コメントを投稿