|
1 2 3 4 5 6 7 |
#!/bin/bash oldIFS=$IFS # conserva el separador de campo IFS=$'\n' # nuevo separador de campo, el caracter fin de línea for f in $(ls); do echo $f done IFS=$old_IFS # restablece el separador de campo predeterminado |
|
1 2 3 4 5 6 7 |
#!/bin/bash oldIFS=$IFS # conserva el separador de campo IFS=$'\n' # nuevo separador de campo, el caracter fin de línea for f in $(ls); do echo $f done IFS=$old_IFS # restablece el separador de campo predeterminado |
|
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 76 77 78 79 80 81 82 83 84 85 86 |
#!/bin/ksh esp="\\n " echo "\\n" opcion=0 fech=`date +%Y%m%d` fecha=`date +%d%m%Y` servers="/usr01/logs/servers.txt" logs="/usr01/logs/server$fecha.log" COMANDO="lanzador reinicia_servs" until test $opcion = 99 do clear date '+%n Fecha : %d/%m/%Y Hora : %H:%M Hrs.' echo " +---------------------------------------------+ | REINICIA SERVICIOS AUTOMATICAMENTE | +---------------------------------------------+ 23-03-2015 V.2 reiniserv.sh " read -p " Instancia : " mot if [ ! "$mot" ] then break fi echo "" motor="$mot;" read -p " Servicios (Separados por espacio) : " servi servicio=(`echo ${servi}`) conser=${#servicio[*]} servidor=(`cat $servers | grep $motor | tr ';' ' '`) conmot=${#servidor[*]} echo " " echo "Servicios del motor $mot se reiniciaran en los siguientes servidores" echo "-----------------------------------------------------------------------------" k=1 while [ $k -lt $conmot ] do if [ "${servidor[$k]}" -eq 0 ] then (( k=k+1 )) continue fi ser=urano${servidor[$k]} (( k=k+1 )) echo -en $ser; echo -en " "; done echo "" echo "-----------------------------------------------------------------------------" echo "" read -p " Para Ejecutar digite tal como aparece Mayuscula y minuscula [Si] : " opcion echo "" echo "-----------------------------------------------------------------------------" if [ ! "$opcion" ] then break fi case $opcion in Si) j=0 while [ $j -lt $conser ] do k=1 while [ $k -lt $conmot ] do if [ "${servidor[$k]}" -eq 0 ] then (( k=k+1 )) continue fi ser=urano${servidor[$k]} sse=${servicio[$j]} ejecuta="$COMANDO $ser $sse restart $mot" echo "Reiniciando ===>> $ejecuta" $ejecuta echo "5,$ser,$mot,$fech,`date +%H:%M:%S`,$sse,0" >> $logs (( k=k+1 )) done (( j=j+1 )) done echo "--------------------------- FIN REINICIO -------------------------------" read fin echo "";; *) echo "";; esac done |
#!/bin/bash
read motor
read servidor
read servicios
mot=($motor)
hos=($servidor)
ser=($servicios)
for arr1 in ${mot[@]}
do
for arr2 in ${hos[@]}
do
for arr3 in ${ser[@]}
do
echo «Array01=$arr1 Array02=$arr2 Array03=$arr3»
done
done
done
Este SCRIPT permite lanzar la ejecución de comandos remotos basados en sistemas CENTOS y DEBIAN. Cabe recordar que para que se ejecute correctamente en cada servidor remoto. Se debe tener configurado el acceso SSH en forma correcta.-
|
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 |
#!/bin/bash CONF="actualizar_servidores.conf" CMD_DEBIAN="sudo apt-get update && sudo apt-get upgrade && sudo apt-get clean" CMD_CENTOS="sudo yum update && sudo yum clean all" # CONF - username:host:port:os for SERVER in $(cat $CONF) do # Parsear linea de configuración USER=$(echo $SERVER | cut -d ':' -f1) HOST=$(echo $SERVER | cut -d ':' -f2) PORT=$(echo $SERVER | cut -d ':' -f3) OS=$(echo $SERVER | cut -d ':' -f4) # Ofrecer actualizar el servidor actual echo -e "#\n##\n###\n####" read -p "¿Desea actualizar $HOST? (Si/No): " ANS if [[ $ANS =~ ^[SsYy]$ ]] then # Actualizar el servidor case $OS in "debian") ssh -p $PORT $USER@$HOST $CMD_DEBIAN;; "centos") ssh -t -p $PORT $USER@$HOST $CMD_CENTOS;; esac fi done |
|
1 2 3 4 5 6 7 8 9 |
#!/bin/bash directorio=/usr01/home/mio archivo=/usr01/home/texto.txt if [ ! -d $directorio ]; then echo "No existe DIRECTORIO $directorio" fi if [ ! -f $archivo ]; then echo "No existe ARCHIVO $archivo" fi |