Samba: dyrektywa „include” a pisanie własnych skryptów

Posiadam kilka wirtualnych systemów a także duży dysk USB na którym trzymam obrazy systemów, kopie bezpieczeństwa dokumentów itp. Ze względu na fakt iż często przeinstalowywuje moje bazowe systemy (razem z rozwojem moich pomysłów na ten włany lab) postanowiłem napisać klika skryptów, które pozwalają szybko przenosić konfigurację na nowe systemy. Jedną z usług, z których korzystam jest Samba. Ta notatka jest poświęcona właśnie jej…
Samba posiada dyrektywę include, która pozwala dołącząć pliki konfiguracyjne. Niestety jest mały problem. Nie można używać znaku globalnego * więc każdy plik należy podać z nazwy.

A wracając do mojego skryptu, wygląda on tak:

echo -n "Checking if ISO share exist "
if [ ! -f /etc/samba/smb.d/smb.iso.conf ]; then
	echo " [ Failed! ] "
	echo " * Creating the ISO share "

	echo "#file generated by script $0 " > /etc/samba/smb.d/smb.iso.conf

echo "
[ISO]
    path = /EXPORT/ISO
    guest ok = yes
    read only = no
    browsable = yes
    comment = ISO images
" >> /etc/samba/smb.d/smb.iso.conf

else

	echo " [ OK ]"
fi

# checking if files from /etc/samba/smb.d are included into main /etc/samba/smb.conf
echo -n "Checking if ISO share is included in smb.conf"

CHECK=$(grep -E -v "^\s*$|^\s*#|^\s*;" /etc/samba/smb.conf | grep -E "^\s*include\s*=\s*/etc/samba/smb.d/smb.iso.conf" | wc -l)

if [ $CHECK -ne 1 ]; then
	echo -e "\n\ninclude = /etc/samba/smb.d/smb.iso.conf" >> /etc/samba/smb.conf
	echo " [ Failed! ]"
else
	echo " [ OK ]"
fi

Dodaj komentarz