Vamos a crear un script en Bash que te permitirá conectarte a un servidor SFTP, navegar a una carpeta específica y subir archivos utilizando SCP. Asegúrate de tener instalado SSH y SCP en tu sistema.
Script Bash
#!/bin/bash
# Configuración de variables
SFTP_USER="tu_usuario" # Reemplaza con tu nombre de usuario
SFTP_HOST="tu_servidor.com" # Reemplaza con la dirección de tu servidor
REMOTE_DIR="/ruta/a/carpeta" # Reemplaza con la ruta de la carpeta en el servidor
LOCAL_DIR="/ruta/a/archivos" # Reemplaza con la ruta de la carpeta local donde están los archivos
# Conexión SFTP y subida de archivos
sftp "${SFTP_USER}@${SFTP_HOST}" <<EOF
cd ${REMOTE_DIR}
lcd ${LOCAL_DIR}
put *
bye
EOF
echo "Archivos subidos correctamente a ${REMOTE_DIR} en ${SFTP_HOST}."
Instrucciones
Crea el script:
Abre un terminal y crea un nuevo archivo, por ejemplo subir_archivos.sh:
nano subir_archivos.sh
(sustituye nano por el editor que utilices)
Copia el script:
Copia y pega el script anterior en el archivo.
Modifica las variables:
Cambia tu_usuario, tu_servidor.com, /ruta/a/carpeta, y /ruta/a/archivos con tus datos específicos.
Haz el script ejecutable:
Guarda el archivo y sal del editor. Luego, haz el script ejecutable:
chmod +x subir_archivos.sh
Ejecuta el script:
Ahora puedes ejecutar el script para subir tus archivos:
./subir_archivos.sh
Notas
- Autenticación: Asegúrate de que tu usuario tenga los permisos necesarios para acceder al servidor y a la carpeta especificada. Si utilizas autenticación por clave, asegúrate de que tu clave pública esté en el servidor.
- Archivos a subir: El comando put * subirá todos los archivos en el directorio local especificado. Si deseas subir archivos específicos, puedes reemplazar * con el nombre del archivo o usar patrones como *.txt para subir solo archivos de texto.
- Errores: Si encuentras errores, verifica que las rutas y credenciales sean correctas y que tengas acceso al servidor.
Este script te permitirá automatizar la subida de archivos a tu servidor SFTP (o al de tu hosting) de manera sencilla.
+ información al respecto en: Cómo usar SFTP para transferir archivos con un servidor remoto de manera segura