¿Te ha servido este sitio alguna vez? Cada script, cada línea de ayuda aquí es fruto de horas de trabajo y pasión por compartir. Si alguna vez resolviste un problema gracias a esta página, considera hacer una donación. Tu aporte —por pequeño que sea— mantiene vivo este proyecto y me impulsa a seguir creando.
Gracias por creer en el conocimiento libre.
Comentarios recientes
- Gonzalo Reiser A. en BASH- Plugin NAGIOS para monitorear procesos.
- jesse en BASH- Plugin NAGIOS para monitorear procesos.
- Sebastian en LINUX – Conexión sin clave, Relación de confianza, conectarse vía SSH, ejecutar comando remotos sin clave.
- Gonzalo Reiser A. en BASH – Script MENU en colores (Sencillo).
- Monty en BASH – Script MENU en colores (Sencillo).
Archivos
- noviembre 2025 (1)
- octubre 2025 (1)
- septiembre 2025 (1)
- agosto 2025 (3)
- julio 2025 (1)
- mayo 2025 (2)
- abril 2025 (4)
- marzo 2025 (1)
- febrero 2025 (1)
- enero 2025 (15)
- diciembre 2024 (1)
- noviembre 2024 (2)
- agosto 2024 (1)
- julio 2024 (12)
- enero 2024 (10)
- diciembre 2023 (1)
- noviembre 2023 (10)
- septiembre 2023 (5)
- agosto 2023 (10)
- junio 2023 (3)
- mayo 2023 (4)
- abril 2023 (10)
- febrero 2023 (3)
- enero 2023 (1)
- diciembre 2022 (2)
- noviembre 2022 (1)
- agosto 2022 (4)
- julio 2022 (1)
- junio 2022 (4)
- febrero 2022 (9)
- abril 2021 (1)
- enero 2021 (3)
- diciembre 2020 (2)
- noviembre 2020 (2)
- octubre 2020 (1)
- septiembre 2020 (4)
- agosto 2020 (1)
- julio 2020 (1)
- junio 2020 (5)
- mayo 2020 (12)
- abril 2020 (1)
- enero 2020 (1)
- noviembre 2019 (5)
- octubre 2019 (4)
- septiembre 2019 (1)
- agosto 2019 (1)
- julio 2019 (11)
- junio 2019 (1)
- julio 2018 (3)
- octubre 2017 (1)
- septiembre 2017 (2)
- agosto 2017 (3)
- julio 2017 (11)
- mayo 2017 (6)
- abril 2017 (3)
- marzo 2017 (7)
- febrero 2017 (1)
- diciembre 2016 (3)
- octubre 2016 (4)
- septiembre 2016 (2)
- agosto 2016 (10)
- julio 2016 (9)
- junio 2016 (9)
- mayo 2016 (27)
- abril 2016 (10)
- marzo 2016 (15)
- enero 2016 (3)
- diciembre 2015 (7)
- octubre 2015 (2)
- septiembre 2015 (3)
- agosto 2015 (9)
- julio 2015 (11)
- junio 2015 (22)
- mayo 2015 (7)
- abril 2015 (22)
- marzo 2015 (5)
- febrero 2015 (2)
- enero 2015 (10)
- diciembre 2014 (7)
- noviembre 2014 (3)
- octubre 2014 (2)
- septiembre 2014 (4)
- agosto 2014 (22)
- julio 2014 (15)
- junio 2014 (8)
- mayo 2014 (6)
- abril 2014 (10)
- marzo 2014 (15)
- febrero 2014 (3)
- enero 2014 (15)
- diciembre 2013 (11)
- noviembre 2013 (25)
- octubre 2013 (46)
- septiembre 2013 (30)
Archivo de la categoría: Unix – Linux
BASH – Script para sincronizar cambios entre repositorios SVN.-
Poner especial atención en el uso de funciones, las cuales se pueden a adaptar a otras soluciones de scripting :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
#! /bin/bash # # Merges the changes from a SVN repository into another. # # Useful when you have two branches or versions of the same project, # and need to bring changes from one into the other. # # Usage: # 1. > merge.sh <src_dir> <dest_dir> # 2. > merve.sh <src_dir> <dest_dir> <revision_number> # # In the first case, it runs a 'svn status' command in the source directory # to find the modified files # # In the second case, it runs a 'svn diff -r rev:HEAD' to find the modified files # # Note: tested on Mac OS X 10.7, with Xcode 4.5 # function pathForName { if [ "$1" = "proj1" ]; then dir="$HOME/Documents/Projects/Project1/"; elif [ "$1" = "proj2" ]; then dir="$HOME/Documents/Projects/Project2/"; elif [ "$1" = "proj3" ]; then dir="$HOME/Documents/Projects/Project3/"; elif [ "$1" = "proj4" ]; then dir="$HOME/Documents/Projects/Project4/"; fi } function doMerge { if [ "$stat" = "" ]; then stat=$1; else f=${1#$SRC} if [ "$stat" = "A" ]; then ask "Copy $f? " "cp ${SRC}${f} ${DST}${f}"; elif [ "$stat" = "M" ]; then ask "Merge $f? " "opendiff ${SRC}${f} ${DST}${f} -merge ${DST}${f}"; elif [ "$stat" = "D" ]; then ask "Delete $f? " "rm ${DEST}${f}" elif [ "$stat" = "?" ]; then echo "Ignoring: $f => status = ${stat}"; else echo "Status unknown ($stat) for file $f"; fi stat=""; fi } function ask { while true; do read -p "$1" yn case $yn in [Yy]* ) $2; break;; [Nn]* ) break;; * ) echo "Please answer yes or no.";; esac done } # Main pathForName $1 SRC=$dir echo "Source => $SRC" pathForName $2 DST=$dir echo "Destination => $DST" stat="" if [ "$3" = "" ]; then for f in $(svn status $SRC); do doMerge "$f"; done else for f in $(svn diff -r $3:HEAD --summarize); do doMerge "$f"; done fi |
Publicado en Unix - Linux
Deja un comentario
BASH – Script consulta replicas componentes.
Este script de ejemplo sirve para verificar si un componente (programa-script-cgi-etc..) fue replicado (copiado) en forma correcta. El listado de servidores, se encuentra en un archivo de texto, el cual es leído línea a línea y por cada uno realiza … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BASH – Script ejemplo de ruptura de bucles ( BREAK – CONTINUE ).
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# Muestra todos los parámetros, # si encuentra una "f" finaliza while [ $# -gt 0 ] do if [ $1 = "f" ] then break fi echo Parámetro: $1 shift done # Muestra todos los parámetros, # si encuentra una "f" # se lo salta y continúa el bucle while [ $# -gt 0 ] do if [ $1 = "f" ] then shift continue fi echo Parámetro: $1 shift done |
Publicado en Unix - Linux
Deja un comentario
BASH – Script linux para manejo de datos (AGENDA).
A este Script le llamaremos «agenda» el uso es simple, sirve para registrar información en forma rápida. Del mismo modo que uno utiliza una agenda. Después se puede realizar búsqueda y si encuentra coincidencias mostrara los registros correspondientes. Poner especial … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BASH – Script Linux para manejo de Fechas.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#!/bin/bash fecha_inicio=20131225 fecha_final=20140106 HOY=$(date) echo "La fecha de hoy es $HOY" HOY_FORMATO_1=$(date +%Y-%m-%d) echo "Fecha hoy en formato ano-mes-dia : $HOY_FORMATO_1" HOY_FORMATO_2=$(date +%d-%m-%Y) echo "Fecha hoy en formato dia-mes-ano : $HOY_FORMATO_2" DIFERENCIA=$(( ($(date --date "$fecha_final" +%s) - $(date --date "$fecha_inicio" +%s) )/(60*60*24) )) echo "Diferencia $fecha_inicio y $fecha_final : $DIFERENCIA dias" PRIMER_DIA_DEL_MES=$(date --date "-$(($(date +%d) -1)) days" +%Y%m%d) echo "Fecha 1er. dia del mes : $PRIMER_DIA_DEL_MES" ULTIMO_DIA_DEL_MES=$(date --date "-$(($(date +%d) -1)) days + 1 month -1 days" +%Y%m%d) echo "Fecha ultimo dia del mes : $ULTIMO_DIA_DEL_MES" DOMINGO=$(date --date "-$(date +%u) days" +%Y%m%d) echo "Fecha dia Domingo Anterior : $DOMINGO" LUNES=$(date --date "-$(( $(date +%u) + 6 )) days" +%Y%m%d) echo "Fecha dia Lunes Anterior : $LUNES" HACE_TRES_DIAS=$(date --date "-3 days" +%Y%m%d) echo "Hace tres dias : $HACE_TRES_DIAS" MAS_TRES_DIAS=$(date --date "+3 days" +%Y%m%d) echo "En tres dias mas : $MAS_TRES_DIAS" HACE_UN_MES=$(date --date "-1 month" +%Y%m%d) echo "Hace un mes : $HACE_UN_MES" exit |
Ejecución del Script : La fecha de hoy es Mon Jan 6 14:49:08 CLST 2014 Fecha hoy en formato ano-mes-dia : 2014-01-06 Fecha hoy en formato dia-mes-ano : 06-01-2014 Diferencia 20131225 y 20140106 : 12 dias Fecha 1er. dia … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario