Add usb-detect script and udev rule
This commit is contained in:
parent
797644ebdc
commit
d4e4ff64cb
1
usb-detect/10-usb-detect.rules
Normal file
1
usb-detect/10-usb-detect.rules
Normal file
@ -0,0 +1 @@
|
||||
ACTION=="add", KERNEL=="sd[b-z]1", SUBSYSTEM=="block", RUN+="/home/kske/usb.sh"
|
55
usb-detect/usb-detect.sh
Executable file
55
usb-detect/usb-detect.sh
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
|
||||
# udev script for mounting a block device
|
||||
# and processing the files it contains
|
||||
|
||||
# To use it, place 10-usb-detect.rules
|
||||
# in /etc/udev/rules.d
|
||||
|
||||
# Redirect stdout and stderr to log file
|
||||
LOGFILE=/var/log/usb-detect.log
|
||||
exec &>> $LOGFILE
|
||||
|
||||
# Processing function (file name is passed as parameter)
|
||||
PROCESS_FUNC=cat
|
||||
|
||||
echo "USB device detected at $DEVNAME"
|
||||
|
||||
MOUNTPOINT=/mnt$DEVNAME
|
||||
|
||||
echo "Mounting device at $MOUNTPOINT"
|
||||
|
||||
mkdir -p $MOUNTPOINT
|
||||
mount $DEVNAME $MOUNTPOINT
|
||||
|
||||
echo "Extracting data..."
|
||||
|
||||
shopt -s nullglob
|
||||
found=0
|
||||
for f in $MOUNTPOINT/*.[0-9]
|
||||
do
|
||||
found=1
|
||||
echo "Processing $f..."
|
||||
$PROCESS_FUNC $f
|
||||
echo "Removing $f..."
|
||||
rm $f
|
||||
done
|
||||
shopt -u nullglob
|
||||
|
||||
[ $found -eq 0 ] && echo "$MOUNTPOINT is empty"
|
||||
|
||||
echo "Umounting..."
|
||||
umount $MOUNTPOINT
|
||||
|
||||
echo "Removing $MOUNTPOINT..."
|
||||
rm -r $MOUNTPOINT
|
||||
|
||||
if [ -z `ls -A /mnt/dev` ]
|
||||
then
|
||||
echo "Removing /mnt/dev/..."
|
||||
rmdir /mnt/dev
|
||||
else
|
||||
echo "Not removing /mnt/dev/ as other devices are mounted."
|
||||
fi
|
||||
|
||||
echo "Done!"
|
Loading…
Reference in New Issue
Block a user