Otomatisasi Mapping Share Folder Samba Menggunakan Script

Sumber artikel : Otomatisasi Mapping Folder Server Windows/Samba pada openSUSE

Script ini merupakan script sederhana untuk mengurangi kemungkinan kesalahan ketik dan proses yang berulang. Logika algoritmanya sederhana, yaitu :

  • Meminta masukan variable untuk nama share folder, nama folder mount dan credential (user name + password)
  • Melakukan penggantian nama script agar bisa digunakan berulang kali untuk share yang berbeda
  • Melakukan penggantian keterangan dari file service
  • Melakukan penggantian perintah mount -t cifs
  • Memasukannya ke folder /etc/init.d
  • Memasukkan perintah ke dalam service, menjalankannya secara otomatis saat booting dan mengaktifkannya sekarang juga

BEWARE : Password ditulis secara mentah-mentah pada file service. Silakan batasi akses file tersebut atau baca dokumentasi mengenai file credential agar user name dan password bisa disimpan difile terpisah yang dilindungi hak aksesnya.

Berikut adalah cara penggunaannya :

  1. Download file samba-map-auto.tar.gz. Tempatkan disalah satu folder (dalam contoh saya : /home/vavai)
  2. Buka konsole / terminal (ALT+F2, konsole atau ALT+F2, gnome-terminal)
  3. Masuk sebagai root, masuk ke folder hasil download (jangan lupa sesuaikan namanya), ekstrak dan jalankan.
    su
    cd /home/vavai
    tar -zxvf samba-map-auto.tar.gz
    cd samba-map-auto
    chmod +x automount.sh
    ./automount.sh
    

Berikut adalah contoh penggunaannya (Klik untuk memperbesar gambar).

samba-automount

Isi script file :

automount.sh

#!/bin/sh

#Hapus Layar
clear

echo "#############################################################################"
echo "# Samba-auto-mount ver 2009.05.001 untuk openSUSE (Testing pada ver 11.1)   #"
echo "# Skrip untuk otomatisasi mapping folder windows/samba server pada openSUSE #"
echo "# Masim "Vavai" Sugianto - vavai@vavai.com - http://www.vavai.com/blog/v2   #"
echo "#############################################################################"

#Default Configuration
startdirectory="/tmp/samba-auto/"
nama_file_old="mount-smb"

echo ""
echo -e "\n###############VARIABEL MAPPING###############"
echo -n "1. Masukkan alamat IP / Nama Server : "
read ip_server
echo -n "2. Masukkan nama share folder : "
read nama_share
echo -n "3. Masukkan alamat folder untuk mount (contoh : /mnt/data-vavai) : "
read folder_mount
echo -n "4. Masukkan nama user samba : "
read nama_user
echo -n "5. Masukkan password samba (akan ditulis dalam bentuk plaintext) : "
read passwd_user

echo -n "6. Masukkan nama file service (bebas, contoh : mount-smb) : "
read nama_file

echo -e "\n###############PROSES KONFIGURASI###############"
echo "Salin file konfigurasi ke folder temporary"

mkdir -p $startdirectory

rsync -av --delete . $startdirectory

echo -e "\nUbah nama file................................................OK"

regexp1="s/$nama_file_old/$nama_file/2"
find $startdirectory -name "*$nama_file_old*" | awk '{print("mv "$1" "$1)}' | sed "$regexp1" | /bin/sh

echo -e "\nUbah konfigurasi..............................................OK"
regexp2="s/$nama_file_old/$nama_file/g"
sed -e $regexp2 $startdirectory$nama_file > /tmp/temp-samba-auto.tmp
mv /tmp/temp-samba-auto.tmp $startdirectory$nama_file
#    echo "Modified: " $startdirectory$nama_file
#    done

echo -e "\nInsert perintah mount.........................................OK"

echo "mount -t cifs //$ip_server/$nama_share $folder_mount -o username=$nama_user,password=$passwd_user,iocharset=utf8,file_mode=0777,dir_mode=0777" >> $startdirectory/$nama_file

#Buat sebagai executable file & Pindahkan ke folder /etc/init.d
chmod +x $startdirectory$nama_file

cp $startdirectory$nama_file /etc/init.d/

echo -e "\nBuat folder mount.............................................OK"
mkdir -p "$folder_mount"
chmod 777 -R "$folder_mount"

echo -e "\nMasukkan & Jalankan service...................................OK"
chkconfig --add $nama_file
chkconfig $nama_file on
service $nama_file start

echo -e "\nDisplay isi file mount........................................OK"
find $folder_mount

echo -e "\nProses mount data telah selesai...............................OK"

Script smb-mount.sh, masih utuh belum ada masukan perintah mount

#!/bin/sh
#
# /etc/init.d/mount-smb
#
### BEGIN INIT INFO
# Provides: mount-smb
# Required-Start: $network
# X-UnitedLinux-Should-Start:
# Required-Stop:
# X-UnitedLinux-Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Custom Skrip untuk Mount Samba
# Description: Custom Skrip untuk Mount Samba
### END INIT INFO

Artikel terkait :

  1. Mapping Folder Windows di Linux bagian I
  2. Mapping Folder Windows di Linux bagian II

Tutorial

Tutorial openSUSE

Archives

Copyright Komunitas openSUSE Indonesia 2007-2012
Log in - BlogNews Theme by Gabfire themes