#!/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