separadas configuraciones sensibles como variables de entorno en fichero aparte

This commit is contained in:
Sergio Pernas 2022-03-15 13:29:08 -03:00
parent 7c4981bb29
commit da2f572ed3
8 changed files with 174 additions and 33 deletions

39
raspberry/bak.desinstalar Executable file
View file

@ -0,0 +1,39 @@
#!/bin/bash
source /etc/nodemecu.conf
if [ $UID -ne 0 ]; then
echo "Ejecute 'sudo $0'"
exit
fi
seguro="Si, se lo que estoy haciendo."
echo "Está a punto de desinstalar nodemecu, esta acción eliminará todos los archivos de instalacion y registros que se hayan tomado sin posiblidad de recuperación, haga un backup de:
- /etc/nodemecu.conf
- $directorio_instalacion
- $log
Para continuar escriba la frase '$seguro'.
"
read -p "frase: " frase
if [ "$frase" = "$seguro" ];then
rm /etc/nodemecu.conf
rm /usr/bin/nodemecu
crontab -u root -r
rm -rf $directorio_instalacion
systemctl stop nodemecu.service
systemctl disable nodemecu.service
rm /lib/systemd/system/nodemecu.service
systemctl daemon-reload
else
echo "La frase de seguridad no concuerda.
"
fi

88
raspberry/bak.instalador Executable file
View file

@ -0,0 +1,88 @@
#!/bin/bash
#set -x
configuracion=nodemecu.conf.ejemplo
source $configuracion
if [ $UID -ne 0 ]; then
echo "Ejecute 'sudo $0'"
exit
fi
if [ -d $directorio_instalacion ] ; then
echo "nodemecu ya se encuentra instalado"
exit
fi
ficheros="bin env arduinos.py contador generador_json funciones monitor monitor_web registrador desinstalar"
# Dependencias
echo "1. Instalando dependencias
"
apt update && apt install -y python3-pip jsonlint jq uuid
pip3 install pyserial
echo ""
# Directorio de instalación
echo "2. Creando directorios y copiando archivos"
echo "
Creación de directorios
"
mkdir -vp $directorio_instalacion/archives/historical
mkdir -v $directorio_instalacion/archives/logs
mkdir -v $registros_corruptos
mkdir -v $envios_fallidos
mkdir -v $historicos
mkdir -v $registros
mkdir -v $key_dir
echo "
Copiado de archivos
"
cp -vr $ficheros $directorio_instalacion
cp -v $configuracion /etc/nodemecu.conf
echo "
Enlaces a binarios
"
chmod 755 $directorio_instalacion/bin/nodemecu
ln -vs $directorio_instalacion/bin/nodemecu /usr/bin/nodemecu
echo "
Fichero de logs
"
touch $log
ls $log
echo "3. Configurando systemd
"
cp -v nodemecu.service /lib/systemd/system/
systemctl daemon-reload
echo "
4. Obteniendo numero de serie
"
sn=$(cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2)
sed -i 's/numero_serie=/numero_serie/' $env
echo "Número de serie: $sn"
echo "
5. Configurar
"
echo "- Ejecute 'sudo nodemecu configurar' para comenzar.
"
echo "- Ejecute 'sudo nodemecu modo sensores' para obtener datos desde sensores.
"
echo "- Ejecute 'sudo nodemecu captura iniciar' para comenzar a tomar datos de sensores o datos de prueba.
"
echo "- Ejecute 'sudo systemctl start nodemecu.service' para iniciar el envío de datos.
"

View file

@ -34,7 +34,8 @@ case $com in
echo "" echo ""
echo "Creando juego de llaves" echo "Creando juego de llaves"
source $config source $config
generate_private_key comentario="$nombre $numero_serie"
generate_private_key "$comentario"
echo "" echo ""
echo "El modo de operación por defecto es 'test' y se envían datos simulados, cambie a 'sensores' con el comando 'sudo nodemecu modo sensores' echo "El modo de operación por defecto es 'test' y se envían datos simulados, cambie a 'sensores' con el comando 'sudo nodemecu modo sensores'
" "

View file

@ -6,7 +6,7 @@ if [ $UID -ne 0 ]; then
exit exit
fi fi
seguro="Si, Estoy Seguro." seguro="Si, se lo que estoy haciendo."
echo "Está a punto de desinstalar nodemecu, esta acción eliminará todos los archivos de instalacion y registros que se hayan tomado sin posiblidad de recuperación, haga un backup de: echo "Está a punto de desinstalar nodemecu, esta acción eliminará todos los archivos de instalacion y registros que se hayan tomado sin posiblidad de recuperación, haga un backup de:
@ -18,9 +18,9 @@ echo "Está a punto de desinstalar nodemecu, esta acción eliminará todos los a
Para continuar escriba la frase '$seguro'. Para continuar escriba la frase '$seguro'.
" "
read -p "frase: " frase #read -p "frase: " frase
if [ "$frase" = "$seguro" ];then #if [ "$frase" = "$seguro" ];then
rm /etc/nodemecu.conf rm /etc/nodemecu.conf
@ -32,8 +32,8 @@ systemctl disable nodemecu.service
rm /lib/systemd/system/nodemecu.service rm /lib/systemd/system/nodemecu.service
systemctl daemon-reload systemctl daemon-reload
else #else
echo "La frase de seguridad no concuerda. echo "La frase de seguridad no concuerda.
" "
fi #fi

19
raspberry/envs Normal file
View file

@ -0,0 +1,19 @@
# NO MODIFICAR ESTE FICHERO !!!!!!!!!!
numero_serie=
curl_err=/tmp/curl_err
historical_file_size=1440
logs_file_size=1440
directorio_instalacion=/opt/nodemecu
registros=$directorio_instalacion/registros
historicos=$directorio_instalacion/historicos
log=/var/log/nodemecu_errors.log
registros_corruptos=$directorio_instalacion/corruptos
envios_fallidos=$directorio_instalacion/fallidos
contador=$directorio_instalacion/contador
lock=$directorio_instalacion/lock
funciones=$directorio_instalacion/funciones
arduinos_py=$directorio_instalacion/arduinos.py
key_dir=$directorio_instalacion/llaves
private_key=$key_dir/$numero_serie.key
public_key=$key_dir/$numero_serie.key.pub

View file

@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
source /etc/nodemecu.conf source /etc/nodemecu.conf
source $env
source $funciones source $funciones
conteo=$(cat $contador) conteo=$(cat $contador)
@ -52,7 +53,7 @@ done
json="{\"transaction_uuid\":\"$uuid\",\"serial_number\":\"$(cat $numero_serie)\",\"controller_id\":\"$nombre\",\"timestamp\":\"$marca_de_tiempo\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}" json="{\"transaction_uuid\":\"$uuid\",\"serial_number\":\"$numero_serie\",\"public_key\":\"$(cat $public_key)\",\"controller_id\":\"$nombre\",\"timestamp\":\"$marca_de_tiempo\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}"
touch $lock touch $lock
file=$(date +%Y%m%d%H%M%S -d @$marca_de_tiempo)-$uuid file=$(date +%Y%m%d%H%M%S -d @$marca_de_tiempo)-$uuid

View file

@ -1,6 +1,19 @@
#!/bin/bash #!/bin/bash
#set -x #set -x
configuracion=nodemecu.conf.ejemplo
basedir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
configuracion=$basedir/nodemecu.conf.ejemplo
envs=$basedir/envs
cat $configuracion
cat $envs
exit
source $configuracion source $configuracion
if [ $UID -ne 0 ]; then if [ $UID -ne 0 ]; then
@ -14,7 +27,7 @@ if [ -d $directorio_instalacion ] ; then
fi fi
ficheros="bin arduinos.py contador generador_json funciones monitor monitor_web nodemecu.service registrador desinstalar" ficheros="bin env arduinos.py contador generador_json funciones monitor monitor_web registrador desinstalar"
# Dependencias # Dependencias
@ -38,7 +51,7 @@ mkdir -v $registros_corruptos
mkdir -v $envios_fallidos mkdir -v $envios_fallidos
mkdir -v $historicos mkdir -v $historicos
mkdir -v $registros mkdir -v $registros
mkdir -v $private_key_dir mkdir -v $key_dir
echo " echo "
Copiado de archivos Copiado de archivos
" "
@ -59,7 +72,7 @@ ls $log
echo "3. Configurando systemd echo "3. Configurando systemd
" "
cp nodemecu.service /lib/systemd/system/ cp -v nodemecu.service /lib/systemd/system/
systemctl daemon-reload systemctl daemon-reload
echo " echo "
@ -67,7 +80,8 @@ echo "
" "
sn=$(cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2) sn=$(cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2)
echo $sn > $numero_serie
sed -i 's/numero_serie=/numero_serie/' $env
echo "Número de serie: $sn" echo "Número de serie: $sn"

View file

@ -2,24 +2,3 @@ nombre=
servidor= servidor=
intervalo= intervalo=
modo=test modo=test
# AJUSTES GENERALES
# SE RECOMIENDA NO MODIFICAR ESTAS LINEAS
curl_err=/tmp/curl_err
historical_file_size=1440
logs_file_size=1440
directorio_instalacion=/opt/nodemecu
registros=$directorio_instalacion/registros
historicos=$directorio_instalacion/historicos
log=/var/log/nodemecu_errors.log
registros_corruptos=$directorio_instalacion/corruptos
envios_fallidos=$directorio_instalacion/fallidos
contador=$directorio_instalacion/contador
lock=$directorio_instalacion/lock
funciones=$directorio_instalacion/funciones
arduinos_py=$directorio_instalacion/arduinos.py
private_key_dir=$directorio_instalacion/llaves
private_key=$private_key_dir/$nombre.pem
numero_serie=$directorio_instalacion/numero_serie