BEM VINDO AO BLOG DO MARCOS CARRARO CRIADOR DO "CARRARO DASHBOARD". MUITO MAIS QUE UM SIMPLES BLOG.

segunda-feira, 24 de outubro de 2011

Samba montar iso automaticamente

Buenas, dica rápida e quente, sem mais delongas.

Montar arquivos .iso automaticamente no samba, é so jogar os arquios .iso em um determinada paste, o samba vai vasculhar, e vai montar em outro diretório compartilhado a imagem.

vim /etc/samba/smb.conf

// aqui vai ser jogado todos os arquivos .iso

[ISO-HOME]
path = /var/samba/manutencao/iso-home
admin users = restrito
valid users = restrito
writable = yes
force create mode = 0777
force directory mode = 0777
public = yes

// aqui vai ser o ponto de acesso de todos os arquivos montados na parte de cima.
[Unidades-Virtuais]
path = /var/samba/unidades
admin users = restrito
valid users = restrito
public = yes
read only = Yes
browseable = Yes
root preexec = /bin/isomount mount

vim /bin/isomount

#!/bin/bash

#local onde ficam os arquivos.iso
ISODIR="/var/samba/manutencao/iso-home"

#local onde vao ser montados as imagens
MNTDIR="/var/samba/unidades"

case $1 in
  mount)
    # Check first
    mnted=`mount | grep iso | awk '{print $1}'`
    for cd in $mnted; do
      if [ ! -e "$cd" ]; then
        echo -n "Umounting $cd..."
        umount -f $cd
        test $? -eq 0 && echo "OK"
        name=`basename $cd`
        name="`echo $name | cut -f1 -d.`"
        test -d $MNTDIR/$name && rmdir $MNTDIR/$name
      fi
    done
      if [ -e "$ISODIR/$2" ] && [ "$2" ]; then
      name="`echo $2 | cut -f1 -d.`"
      if [ -z "`echo $mnted | grep $2`" ]; then
        echo -n "Mounting $name: "
        test -d $MNTDIR/$name || mkdir $MNTDIR/$name
        mount -t iso9660 -o loop,ro $ISODIR/$2 $MNTDIR/$name
        test $? -eq 0 && echo "OK"
      fi
    elif [ -z "$2" ]; then
      for iso in `ls $ISODIR/*.iso`; do
        name=`basename $iso`
        name="`echo $name | cut -f1 -d.`"
if [ -z "`echo $mnted | grep $iso`" ]; then
          echo -n "Mounting `basename $iso`: "
          test -d $MNTDIR/$name || mkdir $MNTDIR/$name
          mount -t iso9660 -o loop,ro $iso $MNTDIR/$name
          test $? -eq 0 && echo "OK"
fi
      done
    fi
  ;;
  umount)
    if [ -e "$ISODIR/$2" ] && [ "$2" ]; then
      name="`echo $2 | cut -f1 -d.`"
      if [ "`mount | grep $MNTDIR/$name`" ]; then
        echo -n "Umounting $name: "
        umount $MNTDIR/$name
        test $? -eq 0 && echo "OK"
        test -d $MNTDIR/$name && rmdir $MNTDIR/$name
      fi
    elif [ -z "$2" ]; then
      for iso in `ls -1 $ISODIR/*.iso`; do
        name=`basename $iso`
        name="`echo $name | cut -f1 -d.`"
        if [ "`mount | grep $MNTDIR/$name`" ]; then
          echo -n "Umounting `basename $iso`: "
          umount $MNTDIR/$name
          test $? -eq 0 && echo "OK"
        fi
        test -d $MNTDIR/$name && rmdir $MNTDIR/$name
      done
    fi
  ;;
  *)
    echo "Usage: $0 {mount|umount}"
  ;;
esac
exit 0




Feito isso chmod +x /bin/isomount

/etc/init.d/smb restart

E bom proveito.


Abraços Marcos Carraro

OBS 15:04 :. Não cole os arquivos.iso com nomes separados por espaço " ", crie nomes simples como programa_do_desenvolvimento_Y_X_D.iso


Nenhum comentário:

Postar um comentário

Posts que a turma mais esta lendo...

Posts que a turma mais esta lendo...

Marcos Carraro