#!/bin/bash #! ps -ww -C wget -o pid,args h | grep -q "output-document=/usr/custom/freeradius/etc/raddb/users.guests.ndl." if [ $? == 0 ]; then echo -e "\nAnother instance running! Exiting.\n" exit 1 fi /usr/bin/wget \ -o /tmp/GOsync.log \ --output-document=/usr/custom/freeradius/etc/raddb/users.guests.ndl.$$ \ --no-check-certificate \ --no-proxy \ --timeout=60 \ --tries=3 \ --post-data='USER=&PASS=&USER_FORMAT=#USER##TAB##TAB#Auth-Type+:=+Local,+Cleartext-Password+:=+"#PWD#"#NL#' \ https://gosrv.lnf.infn.it:8443/GOWebApp/GetAccessService if [ $? != 0 ]; then echo -e "\nError doing WGET!!!\n" [ -f /usr/custom/freeradius/etc/raddb/users.guests.ndl.$$ ] && mv /usr/custom/freeradius/etc/raddb/users.guests.ndl.$$ /usr/custom/freeradius/etc/raddb/users.guests.err.$$ cat /tmp/GOsync.log exit 1 else grep -q Local /usr/custom/freeradius/etc/raddb/users.guests.ndl.$$ if [ $? != 0 ]; then echo "Users.guests: Invalid format" exit 1 fi diff -q /usr/custom/freeradius/etc/raddb/users.guests /usr/custom/freeradius/etc/raddb/users.guests.ndl.$$ > /dev/null if [ $? != 0 ]; then mv -f /usr/custom/freeradius/etc/raddb/users.guests /usr/custom/freeradius/etc/raddb/users.guests.sav mv /usr/custom/freeradius/etc/raddb/users.guests.ndl.$$ /usr/custom/freeradius/etc/raddb/users.guests chown radiusd:radiusd /usr/custom/freeradius/etc/raddb/users.guests /etc/init.d/radiusd restart >> /tmp/GOsync.log 2>&1 if [ $? != 0 ]; then echo -e "\nError restarting RADIUSD!!!\n" cat /tmp/GOsync.log exit 1 fi else rm -f /usr/custom/freeradius/etc/raddb/users.guests.ndl.$$ fi fi