Public feed #528900

Mine

public text v1 · immutable
Raw Edit
·published 2007-06-01 18:42 UTC
rendered paste body
#!/bin/bash

DHDIR="/root/scripts/DHCP/"
SADIR="/root/scripts/SARG/"
ASDIR="/root/scripts/ASTR/"

ARQDHCP=$DHDIR"DHCP.$2"
ARQSARG=$SADIR"SARG.$2"
ARQASTR=$ASDIR"ASTR.$2"

DHBAS=$DHDIR"DHCPBASE.conf"
ASBAS=$ASDIR"ASTRBASE.conf"

DHTMP=$DHDIR"tempDHCP"
SATMP=$SADIR"tempSARG"
ASTMP=$ASDIR"tempASTR"

function remove {
	rm $ARQDHCP
	rm $ARQSARG
	rm $ARQASTR
}

function cria {
			#se passados os paramentros de MAC e IP para ETHERNET
	if [ $3 ] && [ $4 ]; then
			#cria o arquivo individual DHCP.usuario
		touch $ARQDHCP
			#joga o bloco que define parametros de DHCP pro arquivo do usuario
		echo "host $2-eth{" >> $ARQDHCP
		echo "hardware ethernet $3;" >> $ARQDHCP
		echo "fixed-address $4;" >> $ARQDHCP
		echo "}" >> $ARQDHCP
		echo "" >> $ARQDHCP
			#cria o arquivo individual SARG.usuario
		touch $ARQSARG
			#joga o bloco que define parametros para SARG do usuario
		echo "$4 $2" >> $ARQSARG

			#se existirem 6 parametros passa ramal e segundo par MAC/IP
			#para respectivos arquivos
		if [ $7 ]; then
			touch $ARQASTR
			echo "$5 => $5,$2,$2@lpj.com.br" >> $ARQASTR
			echo "host $2-wifi{" >> $ARQDHCP
			echo "hardware ethernet $6;" >> $ARQDHCP
			echo "fixed-address $7;" >> $ARQDHCP
			echo "}" >> $ARQDHCP
			echo "" >> $ARQDHCP
			else
				#se so existirem 5 parametros, quer dizer que nao há ramal definido
				#mas há segundo MAC/IP entao, passa parametros 4 e 5 como um par MAC/IP
				if [ $6 ]; then
					echo "host $2-wifi{" >> $ARQDHCP
					echo "hardware ethernet $5;" >> $ARQDHCP
					echo "fixed-address $6;" >> $ARQDHCP
					echo "}" >> $ARQDHCP
					echo "" >> $ARQDHCP
					else
						#se só existirem 4 parametros, quer dizer que há ramal
						if [ $5 ]; then
							touch $ARQASTR
							echo "$5 => $5,$2,$2@lpj.com.br" >> $ARQASTR
						fi
				fi	
		fi
	fi
}

function escreve {
			#usa arquivo base para DHCP e adiciona arquivos criados
	cp "$DHBAS" "$DHTMP"
			#cria arquivo para DHCP
	cat ""$DHDIR""DHCP.*"" >> $DHTMP
			#usa arquivo base para Voicemail.conf e adiciona arquivos criados
	cp "$ASBAS" "$ASTMP"
			#cria arquivo para Voicemail
	cat ""$ASDIR""ASTR.*"" >> $ASTMP
			#cria arquivo para sarg
	cat ""$SADIR""SARG.*"" >> $SATMP

			#faz upload
	#scp $DHTMP 10.0.0.1:/etc/dhcpd.conf && rm $DHTMP
	#scp $SATMP 10.0.0.1:/etc/sarg/usuarios.txt && rm $SATMP
	#scp $ASTMP 10.0.1.5:/etc/asterisk/voicemail.conf && rm $ASTMP
}

function sai {
exit
}

if [ $1 == "cri" ]; then
	cria
	escreve
	sai
fi

if [ $1 == "mod" ]; then
	remove
	cria
	escreve
	sai
fi

if [ $1 == "rem" ]; then
	remove
	escreve
	sai
fi