diff --git a/agent/Makefile.in b/agent/Makefile.in index 19081632158a659a052291ad5e82ed2a992e4c71..c20389f0f39fc31344093aeeebdc8949c345379c 100644 --- a/agent/Makefile.in +++ b/agent/Makefile.in @@ -55,6 +55,7 @@ FILES = bin/datasid-agent.sh bin/datasid-client.sh \ bin/datasid-check.sh bin/datasid-netmon.sh \ bin/datasid-network-usage.sh \ bin/datasid-builtin-wget \ + bin/datasid-uninstall.sh \ conf/datasid.conf \ gen-scripts/collected-data/agent-version.tree \ gen-scripts/collected-data/point-info.tree \ diff --git a/agent/bootstrap/install b/agent/bootstrap/install index 29c5ad2d853872709d5204f63fbb897d995bd002..15792a718447a895b3d480f7f89109f554460b12 100644 --- a/agent/bootstrap/install +++ b/agent/bootstrap/install @@ -102,9 +102,34 @@ exit_with_message() { exit $1 } +# Print the agent version +agent_version() { + if test -f "${DATASID_HOME}/conf/version"; then + cat "${DATASID_HOME}/conf/version" >&3 + else + echo $VERSION >&3 + fi + + exit 0 +} + +# Uninstall the agent +uninstall() { + if test -d "${DATASID_HOME}"; then + if bash "${DATASID_HOME}/bin/datasid-uninstall.sh"; then + printf "Agente desinstalado com sucesso\n" >&3 + exit 0 + fi + else + printf "Agente não instalado\n" >&3 + exit 1 + fi +} + # These variables will be replaced when generating the installation package PKG_MD5= PKG_LINE= +VERSION= # Set variables DATASID_HOME="/opt/datasid" @@ -121,6 +146,14 @@ fi # Save stdout to file descriptor 3 and redirect all output to $LOGFILE exec 3>&1 &> ${LOGFILE} +case "$1" in + -v|--version) + agent_version + ;; + -u|--uninstall) + uninstall + ;; +esac printf "Iniciando instalação do agente DATASID. Tenha certeza de %b%b%b\n" \ "estar conectado à Internet. Além disso, para o agente funcionar \n" \ @@ -129,11 +162,11 @@ printf "Iniciando instalação do agente DATASID. Tenha certeza de %b%b%b\n" \ # Check if lastexec exist then save its content to prevent that # agent send a inventory more than once per day if test -f ${LASTEXEC}; then - LASTEXECBACKUP=$(cat ${LASTEXEC}) + LASTEXECBACKUP=$(cat ${LASTEXEC}) fi if test -f ${NETLASTEXEC}; then - NETLASTEXECBACKUP=$(cat ${NETLASTEXEC}) + NETLASTEXECBACKUP=$(cat ${NETLASTEXEC}) fi printf "Extraindo pacote e verificando MD5... " >&3 @@ -179,7 +212,7 @@ RETVAL=$? # NOTE: RETVAL=9 means the user already exists (that is acceptable) if test ${RETVAL} -ne 0 -a ${RETVAL} -ne 9; then printf "FALHA!\n" >&3 - printf "ERRO: Falha ao criar o usuário datasid.\n" + printf "ERRO: Falha ao criar o usuário datasid.\n" exit_with_message 2 fi @@ -248,12 +281,12 @@ printf "OK!\n" >&3 # Restore lastexec if ! test -z ${LASTEXECBACKUP};then - echo ${LASTEXECBACKUP} > ${LASTEXEC} + echo ${LASTEXECBACKUP} > ${LASTEXEC} fi # Restore netlastexec if ! test -z ${NETLASTEXECBACKUP};then - echo ${NETLASTEXECBACKUP} > ${NETLASTEXEC} + echo ${NETLASTEXECBACKUP} > ${NETLASTEXEC} fi # Change files owner @@ -271,12 +304,15 @@ printf "Executando o agente pela primeira vez... " >&3 export FIRST_EXECUTION=1 # Run the agent and check if its execution was alright, exiting in case of error -su -c "bash ${DATASID_HOME}/bin/datasid-agent.sh" datasid -RETVAL=$? -if test ${RETVAL} -ne 0; then +if ! su -c "bash ${DATASID_HOME}/bin/datasid-agent.sh" datasid; then printf "FALHA!\n" >&3 - printf "ERRO: Falha na execução do novo agente (${RETVAL}).\n" - collect_information + printf "ERRO: Falha na execução do novo agente (${RETVAL}).\n" >&3 + #Check internet conection + if ! ping -q -w 1 -c 1 \ + `ip r | grep default | cut -d ' ' -f 3` > /dev/null 2>&1; then + printf "Não há conexão com a internet!\n" >&3 + fi + collect_information exit 6 fi @@ -286,7 +322,7 @@ printf "OK!\n" >&3 exec >&3 3>&- printf "\nO agente DATASID foi instalado com sucesso. %b%b" \ - "Em caso de dúvidas, acesse o portal do DATASID:\n" \ - "datasid.c3sl.ufpr.br\n" + "Em caso de dúvidas, acesse o portal do SIMMC:\n" \ + "simmc.c3sl.ufpr.br\n" exit 0 diff --git a/agent/bootstrap/update b/agent/bootstrap/update index d00c9bde6dead5436562b719f694401c6097925a..81730980a629004e2d74d7223b1cfdcb503566b2 100644 --- a/agent/bootstrap/update +++ b/agent/bootstrap/update @@ -22,6 +22,7 @@ # These variables will be replaced when generating the package PKG_MD5= PKG_LINE= +VERSION= # Set variables if test -z "${DATASID_HOME}"; then diff --git a/agent/build-package.sh b/agent/build-package.sh index 6aae86a98d249bef39585ab3044d08162f086d41..d49aa5cd3038e795f388aee8029f7a961a074152 100755 --- a/agent/build-package.sh +++ b/agent/build-package.sh @@ -125,7 +125,8 @@ pkgmd5=$(md5sum "$tempfile" | cut -d' ' -f1) pkgline=$(( $(wc -l "$bootstrap" | cut -d' ' -f1) + 1 )) sed "s/PKG_LINE=/PKG_LINE=${pkgline}/g; \ - s/PKG_MD5=/PKG_MD5=\"${pkgmd5}\"/g" \ + s/PKG_MD5=/PKG_MD5=\"${pkgmd5}\"/g; \ + s/VERSION=/VERSION=\"${version}\"/g" \ "$bootstrap" > "$output" cat "$tempfile" >> "$output"