2
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NFS/samba マウント と rsync

Posted at
  • OS X に、 NFS や samba をマウントする方法。
    • コマンドライン手動
    • automount
  • それらを、rsync でバックアップする方法。

後者に関しては、NFS が効くんなら( = *nux 系 OS なら)普通に rsync over ssh で良いんじゃね? と言うことで、ここでは、 Windows を samba でマウントしたものを想定して。

登場するディレクトリについて
IP 対象パス machine OS 役割
192.168.XX.XX C:\Users\bunzaemon\for_smb A windows 7 samba サーバ
192.168.YY.YY /Users/bunzaemon/for_nfs B OS X 10.10 NFS サーバ
192.168.ZZ.ZZ /Users/bunzaemon/smb C OS X 10.10 samba マウントポイント
192.168.ZZ.ZZ /Users/bunzaemon/nfs C OS X 10.10 NFS マウントポイント

全て

  • ユーザー名: bunzaemon
  • パスワード: passwd

マウンポイント以下にマウントする名前は、サーバ側のディレクトリ名(for_smb or for_nfs)

NFS/samba マウント

サーバ側での初期設定

samba マウントの場合

A で。

普通に対象ディレクトリ for_smb を右クリックして、「特定のユーザー」を対象に共有フォルダを作成。

NFS マウントの場合

B で。

/etc/exports で公開するディレクトリを設定。

% cat /etc/exports
/Users/bunzaemon/for_nfs -mapall=bunzaemon 192.168.ZZ.ZZ
% sudo nfsd update
  • アクセスは、ユーザー bunzaemon からのもの(-mapall=)
  • 192.168.ZZ.ZZ からのアクセスのみ受ける
  • nfsdupdate しないといけない。

クライアント側での用意

以下、 C にて。

% cd /Users/bunzaemon
% mkdir -p nfs/for_nfs smb/for_smb
  • 手動でのマウントでは、ディレクトリを作ってやる必要有り。

手動でのマウント、アンマウント

samba マウント

% mount -t smbfs //bunzaemon:passwd@192.168.XX.XX/for_smb /Users/bunzaemon/smb/for_smb

Note: You should always use the system mount command and never call mount_smbfs directly.
[引用元] man 8 mount_smb

だそうだ。

NFS マウント

% mount 192.168.YY.YY:/Users/bunzaemon/for_nfs /Users/bunzaemon/nfs/for_nfs

アンマウント

% umount /Users/bunzaemon/smb/for_smb
% cd /Users/bunzaemon
% rm -rf smb

NFS も同様

自動マウント

autofs を利用。

編集するファイルは四つ
NFS/samba 共通が二つに、NFS/samba それぞれ一つずつ

  • auto_master
  • autofs.conf
  • auto_nfs
  • auto_smb

以上のファイルの編集が終了したら、

% automount -vc

して反映させるか、再起動する。
上記コマンドで、実行後直ぐに反映されるかと思ったら、多少のタイムラグがありそうなので、対象のディレクトリなどを、早急に弄る事はしない。

auto_master

NFS/samba 共通
/etc/auto_master の最後に、以下を追加

/Users/Shared/smb    auto_smb
/Users/Shared/nfs    auto_nfs

左がマウントポイントで、右がマップ名

autofs.conf

AUTOMOUNT_TIMEOUT=0

にして自動アンマウントさせない様にする1

余談だが、

AUTOMOUNTD_MNTOPTS=nosuid,nodev

って書かれているので、auto_smb にも auto_master にも、 nosuid を充てる必要がない(?) @OSX 10.10。

auto_nfs

nfs の設定が書かれるマップファイル。

for_nfs -fstype=nfs,noresvport nfs://192.168.YY.YY:/Users/bunzaemon/for_nfs

auto_smb

smb の設定が書かれるマップファイル。

for_smb -fstype=smbfs,soft ://bunzaemo:passwd@192.168.XX.XX/for_smb

rsync

Windows のバックアップを取りたくて。

マウントした samba ディレクトリを、 Time Machine してくれたら良いのだけれど、そうは行かないので、 rsync で当該ディレクトリを一旦他のディレクトリにバックアップして、それを Time Machine で保存してく2

同一マシン内で完結するので、rsync をデーモンモードで動かすまでもない。

もちろん、 C のマシンにて。

% pwd
/Library/LaunchDaemons/
% cat com.bunzaemon.rsync.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.bunzaemon.rsync</string>
        <key>UserName</key>
        <string>bunzaemon</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/bin/rsync</string>
                <string>-av</string>
                <string>--delete</string>
                <string>/Users/bunzaemon/smb/for_smb/</string>
                <string>/Users/bunzaemon/bak/for_smb/</string>
        </array>
        <key>StandardOutPath</key>
        <string>/tmp/com.bunzaemon.rsync.stdout.log</string>
        <key>StandardErrorPath</key>
        <string>/tmp/com.bunzaemon.rsync.stderr.log</string>
        <key>KeepAlive</key>
        <true/>
</dict>
</plist>

普通に root で実行するとマウントしなおした場合に root 権限でマウントしてしまう。
それを回避するには、色々手はあるが、 rsync の設定云々で、対応するのも面倒なので、 man 5 launchd.plistUserName を利用して、ユーザーでジョブを実行させる。

% sudo chmod 600 !$
com.bunzaemon.rsync.plist
% sudo chown root !$
% sudo launchctl load com.bunzaemon.rsync.plist

最初の一回目に、コピー元とコピー先を間違えると痛い目に合う。

  1. 数字は秒数。0 は、自動アンマウントを切る。

  2. いや、 Win 側でバックアップ取れとか、NAS を買えとか、csRsync を使えとか、ってのは百も承知だけど、権限が無いし、金も無い、、、

2
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?