サーバー上のディスクをマウントするのを自動化
普段、オフィスのある建物内からだけアクセスできるサーバーに大きなデータをおいている。小さめの計算や、図等をインタラクティブにチェックする作業の際は、サーバーのディスクを手元のPCにマウントして使っている。ただそのときに、手元のマシンを再起動させたりすると再マウントがめんどくさい。そこで、そのあたりの作業を全部起動時に行うようにした。
- やりたいこと
サーバー(
SERVER
)上のあるディレクトリ(s_dir
: 絶対パス) をnfsマウントで、あたかも外付けHDDを繋いだ時のように扱う。 OSはmac OS High Sierra (ver. 10.13.4)
1 マウント用のディレクトリ作成
外付けHDDを繋いだ時のように使いたかったので、ローカルマシンの/Volumes
以下にディレクトリを作成。
sudo mkdir /Volumes/dir
2 nfsマウント
マウントは以下のようにする。
sudo mount_nfs -P SERVER:s_dir /Volumes/dir
3 (好みで)sudo時にパスを求められないようにする
sudo時にパスワードを入力がめんどくさかったので、以下の設定をした。 セキュリティ的によくない気がするので実行には注意(私は後からこの設定はやめました)。
visudoでできる。viによる編集。
sudo visudo
3行目を追加。名前は自分のユーザー名にすること。
root ALL=(ALL) ALL %admin ALL=(ALL) ALL hoge ALL=(ALL) NOPASSWD: ALL #この行を追加。hogeは自分のユーザー名
4 ~/.bash_profile
に記述
ログイン時にディレクトリがなければ、ディレクトリ作成、マウントをするように、1,2の手順を以下のように記述(ログインシェルがbashの場合のみ)。
if [ -e /Volumes/dir ]; then echo "Data dir -> /Volumes/dir" else echo "nfs_mount SERVER:s_dir to /Volumes/dir" sudo mkdir /Volumes/dir sudo mount_nfs -P SERVER:s_dir /Volumes/dir fi
これでターミナルを開いたら勝手にディスクがマウントされて楽です。