Fedora 15にアップグレードしたばかりです。ここ数年、バックアップに Bacula を使用しましたが、正常に動作します。しかし今、私は問題にぶつかりました。おそらく、Baculaがrootとしてではなくユーザーbaculaとして実行されているためです。
私のバックアップメディアは2つのUSBディスクドライブです(1つをオフサイトに置き、月に1回程度交換します)。ただし、Fedoraは、モード700のUIDが所有するマウントポイントを使用してUSBドライブを自動マウントします。これは、おそらくログインしており、これがほとんどのUSBストレージにとって正しいことであるためです。ただし、この場合、Baculaがアクセスできないためではありません。
イベントのシーケンスを正しく理解していれば、udevは/ dev/sdbおよび/ dev/sdb1デバイスノードを作成し、これらはudisk(Gnomeコンポーネント)によって自動マウントされます。マウントパラメータが何であるかを決定するのはudiskです。
「BACKUP *」というラベルの付いたディスクを、bacula:bacula、モード700が所有するマウントポイントでマウントする必要があります。/etc/udev/rules.dにカスタムudevルールファイルが必要だと思います。 udev(7)ページと " devルールの記述 "を読みました。これが私がこれまでに思いついたもので、「10-backup-disk.rules」というファイルにあります。 udev OKによって解析されていますが、機能していません。ディスクはまだ私が所有していることになります。誰かが私が間違っていることを教えてもらえますか?
ありがとう。
KERNEL!="sd[a-z][0-9]", GOTO="backup-disk_auto_mount_end"
ENV{ID_FS_LABEL}!="BACKUP*", GOTO="backup-disk_auto_mount_end"
# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"
# Get disk label
ENV{dir_name}="%E{ID_FS_LABEL}"
# Global mount options
ACTION=="add", ENV{mount_options}="relatime,rw"
# Filesystem-specific mount options
ACTION=="add", ENV{mount_options}="$env{mount_options}"
# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"
# Exit
LABEL="backup-disk_auto_mount_end"
udevについては何も知りませんが、Fedora 15を使用しているので、systemdを使用して同じことをはるかに簡単に実行できます。
BACKUP_ONEというラベルの付いたUSBドライブがあると仮定して、次のファイルを作成します。
/etc/systemd/system/mnt-backup1.mount
:
[Mount]
What=/dev/disk/by-label/BACKUP_ONE
Where=/mnt/backup1
Options=uid=bacula,gid=bacula,mode=0700
ファイル名は.mount
で終わり、マウントポイント(ユニットファイルのWhere=
行)と一致する名前を持ち、スラッシュ(/
)がダッシュ(-
)。詳細については、 man systemd.unit
を参照してください。
さらに、/etc/systemd/system/mnt-backup1.automount
を作成することにより、Baculaが実際にバックアップを実行するまで(またはドライブにアクセスしようとするまで)ドライブがマウントされないようにすることができます。
[Automount]
Where=/mnt/backup1
[Install]
WantedBy=remote-fs.target
他のドライブについてもこれを繰り返し、systemctl enable mnt-backup1.automount
とsystemctl daemon-reload
を実行して、systemdに変更を通知します。 (混乱しないように、この時点でプラグが抜かれていることを確認します。)
udisksは、systemd構成に従い、定義したオプションでマウントします。