husonet | Tarih: 23.02.2015
Linux Debian, Auto Mount Usb Disk, Flash Bellek
Usb diskimi yada flash belleğimi nasıl tak çıkar kullanabilirim.
Gerekli paketler
Disklerimizi takalım ve durumuna bakalım.
İki adet usb diskimiz var ve bunların tak çıkar şekilde çalışmasını istiyoruz.
Takılan diskle ilgili gerekli info yani bilgilere erişelim.
aptitude install udev
Disklerimizi takalım ve durumuna bakalım.
fdisk -l
.....
Device Boot Start End Blocks Id System
/dev/sdc1 * 63 1953520064 976760001 7 HPFS/NTFS/exFAT
.....
Device Boot Start End Blocks Id System
/dev/sdb1 2048 1953521663 976759808 7 HPFS/NTFS/exFAT
.....
İki adet usb diskimiz var ve bunların tak çıkar şekilde çalışmasını istiyoruz.
Takılan diskle ilgili gerekli info yani bilgilere erişelim.
udevadm info --query all --path /sys/block/sdc/sdc1/ --attribute-walk
Usb diskimiz yada flash diskimiz he ne olursa olsun bu makinamıza takıldığı zaman sistemin otomatik tanıması için rules dosyası tanımlayalım.
vim /etc/udev/rules.d/usb.rules
KERNEL=="sd??", SUBSYSTEM=="block", DRIVERS=="usb", ATTRS{serial}=="20041101XXXXXX", SYMLINK+="yedekdisk"
Model uzerinden de yapabilirsiniz.
ATTRS{vendor}=="SanDisk ", ATTRS{model}=="Cruzer Edge ", SYMLINK+="yedekdisk"
Yaptığımız değişikliklerin etkin olması için servisi restart yapalım.
/etc/init.d/udev restart
Ardından usb diskimizi çıkartıp tekrar takalım. Yaptığımız değişiklikler etkinmi kontrol edelim? Erişim gerçekleşiyorsa her şey yolunda demektir.
ls -ail /dev/yedekdisk
Peki şimdi diskimizi taktığımız zaman otomatik olarak mount etmesini sağlayacak scriptimizi yazalım!
vim /root/scripts/autoscript.sh
#!/bin/bash
#-----------------------------------------------------------------------
#
# Huseyin OZDEMIR
# Husonet
# 24.02.2015
# Bu scrip UDEV tarafindan cagrilir
# Bu script otomatik mount islemi yapar ve hedef alinan klasoru yedekler
#
#-----------------------------------------------------------------------
# log alalim
/usr/bin/logger Yedek - Baslama tarihi at `date`
# mount edilecek klasor yoksa olusturalim
if [ ! -d /mnt/yedekdisk ] ; then mkdir /mnt/yedekdisk ; fi
# mount
/bin/mount -t ntfs-3g /dev/yedekdisk /mnt/yedekdisk
/usr/bin/logger Yedek - www
# yedek alinacak klasor
/usr/bin/rsync -rtv --del --modify-window=2 /home/huso/scripts /mnt/yedekdisk
# umount etmeden once sync yapalim
/bin/sync
# umount
/bin/umount /mnt/yedekdisk
/usr/bin/logger Yedek - Bitis tarihi at `date`
Son olarak ta scriptimizi çağırması için udev rules dosyamızı ayarlayalım.
vim /etc/udev/rules.d/usb.rules
ATTRS{vendor}=="SanDisk ", ATTRS{model}=="Cruzer Edge ", SYMLINK+="yedekdisk", RUN+="/root/scripts/autoscript.sh"
Diskimizi yada flash diskimizi taktığımız zaman otomatik olarak scriptimiz çalışacaktır.