viernes, 6 de marzo de 2009

Script para detectar particiones recien montadas

Hola!

Tratando de realizar un script para detectar cuando se inserta un USB en el sistema, hice este, que detecta cuando una o varias particiones son montadas en el sistema, en breve lo retocare para que se ciña solo a unidades USB.
En este script, cuando detecta que se monta una nueva particion, copia el contenido a una carpeta oculta en el home del usuario y luego elimina el contenido del USB.

#!/bin/bash

let ACT=`wc -l /etc/mtab | awk '{print $1}'`
EXIST=`ls -la $HOME | grep .usb-content`
if [ ! "$EXIST" ]; then
mkdir $HOME/.usb-content
fi
WORK_DIR=$HOME/.usb-content
while [ 1 ];
do
NOU=`wc -l /etc/mtab | awk '{print $1}'`
if [ "$NOU" -lt "$ACT" ]; then
ACT="$NOU"
fi

if [ "$NOU" -gt "$ACT" ]; then
let LIN=$NOU-$ACT
let ACT="$NOU"
echo "DISPOSITIVO CONECTADO"
DISP=`tail -n $LIN /etc/mtab | awk '{print $1}'| xargs`
DIR=`tail -n -$LIN /etc/mtab | awk '{print $2}' | xargs`

for X in $DIR; do
echo "MONTADO EN DIRECTORIO $X"
cp -R $X/* $WORK_DIR
rm -R $X/*
done
fi
sleep 1;
done;

Salu2!

No hay comentarios: