LinuxParty
Para pasar una variable del entorno del sistema "Shell" a AWK para que la trabaje, deberás hacerlo empleando el comando "-v VarAWK=VarLinux", lo más claro que podemos hacer ésto es empleando un ejemplo.
Saluda="Hola" awk -v saluda=$Saluda 'BEGIN {print saluda}' Hola
Mediante este ejemplo, pasamos la varible de Linux "Saluda", con "S" Mayúscula a la variable "saluda", con "s" minúscula que será la varible de AWK y ejecutamos el comando AWK del programa con la sentencia "BEGIN" delante.
System Tar and Restore es un script de copia de seguridad del sistema versátil para sistemas Linux. Viene con dos scripts bash, el script principal star.sh y un script de envoltura GUI star-gui.sh , que funcionan en tres modos: copia de seguridad, restauración y transferencia.
También te pueden interesar:
Script para hacer copia de seguridad de los Usuarios, Bases de Datos y /var/www/html
Hacer copias de seguridad de archivos en Linux con Rsync (Seguridad)
Características
- Copia de seguridad total o parcial del sistema
- Restaurar o transferir al mismo diseño de disco / partición o diferente.
- Restaure o transfiera la copia de seguridad a una unidad externa como USB, tarjeta SD, etc.
- Restaurar un sistema basado en BIOS a UEFI y viceversa.
- Organizar un sistema en una máquina virtual (como virtualbox ), hacer una copia de seguridad y restaurarlo en un sistema normal.
Requerimientos:
- gtkdialog 0.8.3 o posterior (para la interfaz gráfica de usuario ).
- tar 1.27 o posterior (compatible con acls y xattrs). [ 1 ] y [ 2 ]
- rsync (para el modo de transferencia).
- wget (para descargar archivos de respaldo).
- gptfdisk / gdisk (para GPT y Syslinux).
- openssl / gpg (para cifrado).
Cómo instalar la herramienta System Tar y Restore en Linux
Para instalar el programa System Tar and Restore , primero debe instalar todos los paquetes de software necesarios que se enumeran a continuación.
$ sudo apt install git tar rsync wget gptfdisk openssl [En Debian/Ubuntu] # sudo yum install git tar rsync wget gptfdisk openssl [En CentOS/RHEL] # sudo dnf install git tar rsync wget gptfdisk openssl [En Fedora]
Construido sobre el motor V8 de Chrome, Node.JS es un tiempo de ejecución de JavaScript de código abierto y controlado por eventos que está diseñado para crear aplicaciones escalables y API de backend. NodeJS es liviano y eficiente, gracias a su modelo de E / S sin bloqueo y a su arquitectura impulsada por eventos. Esto lo convierte en una opción perfecta para manejar aplicaciones en tiempo real con uso intensivo de datos. Es multiplataforma y de descarga y uso totalmente gratuito.
NPM es un acrónimo de Node Package Manager, que es el administrador de paquetes predeterminado para Node.JS y el repositorio más completo para los paquetes Node.JS.
En este artículo, nos enfocamos en cómo instalar NodeJS y NPM en Rocky Linux 8 .
Hay dos formas principales de instalar NodeJS en Rocky Linux 8:
- Instalación desde el repositorio predeterminado de Rocky Linux AppStream.
- Instalación desde distribuciones binarias de Node.JS compatibles con Nodesource.
Echemos un vistazo a cada uno de estos métodos.
Veremos el uso del comando "next", que le dice a Awk que omita todos los patrones y expresiones restantes que ha proporcionado, pero en su lugar lea la siguiente línea de entrada.
El comando "next" le ayuda a evitar la ejecución de lo que yo llamaría pasos de pérdida de tiempo en la ejecución de un comando.
Para entender cómo funciona, consideremos un archivo llamado food_list.txt que tiene este aspecto:
Elementos de la lista de alimentos
No Item_Name Precio Cantidad
1 Mangos $3.45 5 2 manzanas $2.45 25 3 piñas $4.45 55 4 tomates $3.45 25 5 Cebollas $1.45 15 6 Plátanos $3.45 30
Las funciones juegan un papel importante en cualquier lenguaje de programación. Como muchos lenguajes de programación reales, bash tiene funciones que se utilizan con una implementación limitada.
¿Qué son las funciones?
En programación, las funciones se denominan secciones de un programa que realiza una tarea específica. En este sentido, una función es un tipo de procedimiento o rutina. Cuando se llama a una función, el programa abandona la sección de código actual y comienza a ejecutar la primera línea dentro de la función. Siempre que haya un código repetitivo o cuando una tarea se repita, considere usar una función en su lugar.
Por ejemplo, considere el caso en el que necesitamos encontrar el factorial de un número en varias etapas de un programa en particular. En lugar de escribir todo el código (para calcular el factorial) todas y cada una de las veces, podemos escribir esa parte del código que calcula el factorial una vez dentro de un bloque y reutilizar el mismo en múltiples ocasiones.
¿Por qué escribimos funciones?
- Nos ayuda a reutilizar el código.
- Mejorar la legibilidad del programa.
- Uso eficiente de variables dentro del programa.
- Nos permite probar el programa parte a parte.
- Muestra el programa como un montón de subpasos.
Hay muchas razones para usar Linux sobre cualquier otro sistema operativo que sea propietario, como son Windows o Mac, y es que Linux tiene la posibilidad allí donde a tí se te acabe la imaginación, por eso siempre es la mejor opción de escritorio en muchos casos, sobre todo en los más delicados.
El proceso de encriptación de una carpeta no es nueva, ya lo hemos explicado en algunos artículos como:
Crear una carpeta encriptada en Linux al estilo RealCrypt (ya encfs)
Una versión similar para Windows, puedes leer en el artículo:
La encriptación, la vamos a hacer para tener todo seguro, nuestros marcadores, nuestras contraseñas, nuestras visitas, los plugins, etc. Así pues vamos a explicar los pasos para llevarlo a cabo. Para nuestro ejemplo, vamos a usar Mozilla Firefox, por 2 razones, primera porque es un navegador gratuito y el navegador Open Source por excelencia entre los usuarios Linux y segundo, porque siempre vendrá instalado en todos las distribuciones, pero si quiere usar otro navegador, deberá hacer las modificaciones oportunas en el Script abajo desarrollado.
El problema que se nos presenta es eliminar la primera fila en una salida cualquiera, dicha salida puede ser un espacio vacío, que puede estar en dicha salida o que puede estar dicho espacio vacío incluido en un fichero o una salida realizada con pipes... así este es el ejemplo..
Si queremos eliminar la primera fila de una salida cualquiera:
$ sed -e "1d"
Así por ejemplo en:
[javier@localhost ~]$ printf "Primera\nSegundo\nTercero\n" Primera Segundo Tercero
Si queremos quitar "Primera", de la salida anterior... escribimos utilizando pipes y el comando "sed" para eliminar la salida "Primera":
[javier@localhost ~]$ printf "Primera\nSegundo\nTercero\n" | sed -e "1d"
Segundo
Tercero
Si queremos eliminar la primera línea de un fichero:
$ sed -i -e "1d" $FILE
Estos son algunos ejemplos de scripts de cuenta atrás para Linux que podrás usar...
Este ejemplo, no es una cuenta atrás, sino una cuenta hacia adelante.
date1=`date +%s`; while true; do echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r"; done
Este es un script completo que sólo muestra en la parte superior derecha siempre, la hora...
#!/bin/bash ################################################################################### # Se concede permiso para copiar, distribuir y/o modificar este programa siempre # y cuando se cite al autor y la fuente de linuxparty.es y según los términos # de la GNU General Public License, Versión 3 o cualquiera # posterior publicada por la Free Software Foundation. #################################################################################### # ************************* # reloj.sh # https://www.linuxparty.es # ************************* if [ "$1" == "--ahora" -o "$1" == "-ahora" ] ; then date +%H:%M:%S exit 0 fi
La forma más fácil de poner entre comillas un resultado obtenido por find, es usando tuberías y awk. Esto lo querrás hacer sobre todo, para poder manejar los nombres largos de ficheros que quieres poner entre comillas para usarlos para cualquier propósito, aquí te pongo algunos ejemplos.
Generalmente vas a utilizar la variable $0, de awk, que contendrá todos los caracteres incluidos los espacios, sin necesidad de usar repetidamente $1, $2...
find . -type f -iname '*.avi' | awk '{print "\""$0"\""}'
Con ello, por ejemplo, podrías querer generar toda una sentencia para, por ejemplo mover todos los ficheros de video, con extensión "avi" en un mismo directorio...
find . -type f -iname '*.avi' | awk '{print "mv", "\""$0"\"", "/home/user/videos"}'
Si además, quieres ejecutar la orden inmediatamente, deberás escribir:
find . -type f -iname '*.avi' | awk '{print "mv", "\""$0"\"", "/home/user/videos"}' | sh
Otros artículos con "find", que te pueden interesar:
Si está ejecutando Apache o un servidor de web similar que utiliza el formato de registro común -log-, Podrá hacer un rápido análisis estadístico, que además podrá hacerlo desde la línea de comandos, a través de un shell script. La configuración estándar para un servidor tiene un access.log y error.log escrito para el sitio; Su ISP incluso tendrá estos archivos de datos raw disponibles para los clientes, pero si tienes tu propio servidor, debe tener definitivamente acceso a estos archivos guardando esta valiosa información. Una línea típica tiene un access.log tiene el siguiente aspecto:
63.203.109.38 - - [02/Sep/2003:09:51:09 -0700] "GET /custer HTTP/1.1" 301 248 "http://search.msn.com/results.asp?RS=CHECKED&FORM=MSNH& v=1&q=%22little+big+Horn%22" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
El cuadro 1 muestra el valor, por columna, para el formato de registro común.
Tabla 1: Diseño Común de archivo de registro
El número de visitas al sitio puede determinarse rápidamente haciendo un recuento de palabras en el archivo de registro, y el intervalo de fechas de entradas en el archivo puede determinarse mediante la comparación de las líneas de la primeras y la últimas en él:
$ wc -l access_log
10991 access_log
$ head -1 access_log ; tail -1 access_log
64.12.96.106 - - [13/Sep/2003:18:02:54 -0600] ...
216.93.167.154 - - [15/Sep/2003:16:30:29 -0600] ...
Con estos puntos en mente, aquí es un script que genera una serie de estadísticas útiles, habida cuenta de un archivo de registro de formato de Apache access_log.
Columna Valor
1 IP de acceso al servidor host
2-3 Información de seguridad de https / SSL conexiones
4 Fecha y zona horaria de la petición específica
5 Método invocado
6 URL solicitada
7 Protocolo utilizado
8 Resultados de código
9 Número de bytes transferidos
10 Referrer
11 cadena de identificación del Navegador
El código de resultado (campo 8) valor 301 indica éxito. La referencia (campo 10) indica la dirección URL de la página que el surfista se encontraba de visita inmediatamente anterior a la solicitud de la página en este sitio: Usted puede ver que el usuario estaba en search.msn.com (MSN) y buscado "Little Big Horn ". Los resultados de esa búsqueda incluido un enlace a la dirección custer en este servidor.
-
Scripting
- Iniciar una aplicación o un programa automáticamente desde el Cron en Linux
- Operaciones matemáticas en Shell Scripts
- 30 formas de validar archivos de configuración o scripts en Linux
- Operaciones artiméticas en Shell Scripts
- Cómo intercambiar el contenido de dos archivos en Linux
- Buscar directorios vacíos en Linux y borrarlos si procede.
- Shell Script Linux: Renombra quitando espacios
- Usar con crontab - último sábado del mes
- Shell Script de Linux para analizar un Fichero Access.log
- Analizar ficheros log de Linux con Scripts
- woof Código fuente
- Como tener seguro, protegido y encriptado tu Navegador Web Firefox (versión mejorada - versión 3)
- Arrays en Bash y Loops: iterar a través de los valores de la matriz
- Pasar una variable a AWK mediante la Shell.
- System Tar and Restore: un versátil script de copia de seguridad del sistema para Linux