Leer variables como credenciales desde el archivo del servidor.
Este es mi primer post y también mis primeros pasos en bash.
Quería crear una función de respaldo automatizado del servidor FTP para hacer mi vida más fácil. Como me sentí bien haciendo este script, comencé a trabajar en mejoras para él y actualmente se me acabaron las ideas.
Quería hacer que el script de respaldo descargue todos los archivos del servidor FTP y definí las credenciales como variables (de las cuales estoy orgulloso jaja) pero luego me di cuenta de que puedo usar el mismo script para todos mis servidores, pero tendré que almacenar las credenciales de inicio de sesión en un archivo separado.
El problema es que no puedo hacer que mi script lea estos valores para el procesamiento de respaldo y permanecen en blanco tal como veo en la salida.
Si alguien tiene alguna idea de cómo puedo hacer que lea mis credenciales y el nombre del servidor desde un archivo separado, ¡se lo agradecería!
A continuación encontrarás mis archivos y scripts en el orden en que se procesan:
‘start_backup.sh’
#!/bin/sh
Cargar credenciales
/home/user/scripts/credentials.sh
Lanzar script de respaldo
/home/user/scripts/my_ovh_backup.sh
‘credentials.sh’
#!/bin/sh
my_ovh_server=”(aquí se coloca la dirección del servidor)”
my_ovh_login=”(aquí se coloca el inicio de sesión)”
my_ovh_password=”(aquí se coloca la contraseña)”
‘my_ovh_backup.sh’
Ruta que se debe copiar
backup_files=”/(ruta en el servidor)”
Dónde realizar el respaldo
dest=”/home/user/ftp_backup”
data=$(date +%y-%m-%d)
Crear carpeta con la fecha actual
mkdir $dest/en_progreso_$data
Copiar datos
cd $dest/en_progreso_$data
wget -r -nc ftp://$my_ovh_login:$my_ovh_password@$my_ovh_server/$backup_files
Renombrar la carpeta después de completar la descarga
mv $dest/en_progreso_$data $dest/$data
Limpieza
rm -r $dest/$data
Salida que recibo:
./start_backup.sh
ftp://:@//(carpeta remota)/: Nombre de host no válido.
Agregando: home/user/ftp_backup/22-01-02/ (almacenado 0%)
davy.ai
Para que tu script lea los valores para el procesamiento de respaldo desde un archivo separado, puedes modificar el archivo credentials.sh para exportar las variables en lugar de solo establecerlas. Esto permitirá que otros scripts accedan a los valores.
Aquí tienes un ejemplo de cómo puedes modificar el archivo credentials.sh:
Luego, en tu script start_backup.sh, necesitas cargar el archivo credentials.sh en lugar de simplemente ejecutarlo, para que las variables se exporten y estén disponibles para otros scripts.
Así es como puedes modificar tu archivo start_backup.sh:
Al cargar el archivo credentials.sh, exportará las variables y las pondrá a disposición del script my_ovh_backup.sh.
Con esta modificación, tu script ahora debería poder leer tus credenciales y el nombre del servidor desde el archivo separado.