01.06.2009 13:16
OlegON
 
Напишу, поскольку сам несколько раз спотыкался в поисках и видел разные варианты...
Итак:
Цитата:
oops / # uname -a
Linux oops 2.6.28-gentoo-r5 #6 SMP PREEMPT Fri May 29 07:36:51 MSD 2009 x86_64
в /etc/udev/rules.d создаем два файла
10-mnt.rules:
BUS=="usb", SUBSYSTEM=="block", KERNEL=="sd??", ACTION=="add", NAME="%k", GROUP="disk", RUN+="/usr/scripts/udev-flash-mount.sh add %k"

выделяем, что подключение по usb, чтобы sata не трогало и ?? в маске, чтобы не создавались диски вроде sdf (правильное - sdf1)
10-umnt.rules:
SUBSYSTEM=="block", KERNEL=="sd??", ACTION=="remove", RUN+="/usr/scripts/udev-flash-mount.sh remove %k"

ну и, собственно, сам батник монтирования
Код:
oops scripts # cat /usr/scripts/udev-flash-mount.sh
#!/bin/bash

LOG="/home/ftp/exchange/log"
echo "--- `date` --- : $1 / $2." >> $LOG
sleep 2

DEV=`echo $2 | sed -n '/^sd[a-z][1-9]\?/p'`
if [ "$1" = "add" ]; then
  if [ "$DEV" != "" ]; then
    echo "Mounting /dev/$DEV" >> $LOG
    mkdir /mnt/$DEV >> $LOG 2>&1
    chown -R olegon /mnt/$DEV >> $LOG 2>&1
    chmod -R a+rwx /mnt/$DEV >> $LOG 2>&1
    mount /dev/$DEV /mnt/$DEV -o rw,flush,utf8=true,codepage=1251,iocharset=cp1251,uid=olegon,gid=users,umask=000 >> $LOG 2>&1

  fi
elif [ "$1" = "remove" ]; then
  if [ "$DEV" != "" ]; then
    echo "Unmounting /dev/$DEV" >> $LOG
    umount -f /dev/$DEV >> $LOG 2>&1
    rm -rf /mnt/$DEV >> $LOG 2>&1
  fi
fi
видно, что сваливаю монтирование в лог...
Часовой пояс GMT +3, время: 13:59.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.