Guia para el examen.
1.- Crear un script que me permita generar un PING desde la IP 10.0.0.1 hasta
la IP 10.0.0.10, y solo muestre las direccion IP que se encuentran UP.
1.- Crear un script que me permita generar un PING desde la IP 10.0.0.1 hasta
la IP 10.0.0.10, y solo muestre las direccion IP que se encuentran UP.
1R//
#!/bin/bash
for ip in ping $(seq 1 10)
do
if ping -c1 192.168.1.$ip &>/dev/null
then
echo "la diraccion 192.168.1.$ip esta up" >> /home/patricio/direcciones_up.txt
else
echo "la diraccion 192.168.1.$ip esta down">> /home/patricio/direcciones_down.txt
fi
done
for ip in ping $(seq 1 10)
do
if ping -c1 192.168.1.$ip &>/dev/null
then
echo "la diraccion 192.168.1.$ip esta up" >> /home/patricio/direcciones_up.txt
else
echo "la diraccion 192.168.1.$ip esta down">> /home/patricio/direcciones_down.txt
fi
done
******************************************************************
******************************************************************
2.- En base al archivo adjunto (poblacion.txt) donde la primera columna corresponde al nombre de la persona y la segunda columna corresponde a la edad, genere un script
que permita mostrar por pantalla la siguiente informacion ...
"La persona con nombre $nombre en este momento tiene $edad anos de edad"
que permita mostrar por pantalla la siguiente informacion ...
"La persona con nombre $nombre en este momento tiene $edad anos de edad"
2R//
#! /bin/bash
for sin in $( cat poblacion.txt | cut -d ":" -f1 )
do
sleep 2
var=`cat poblacion.txt | grep $sin | cut -d ":" -f2`
echo "La persona con nombre $sin en este momento tiene $var anos de edad"
done
3.- Realizar un script que permita respaldar todo un directorio, el respaldo debe
generarlo mediante un compresor (gzip, osea *.tar.gz) para comprimir el directorio
generarlo mediante un compresor (gzip, osea *.tar.gz) para comprimir el directorio
a respaldar. Este script debera copiarse automaticamente al directorio de las tareas
programadas, para que se ejecute una vez al mes
programadas, para que se ejecute una vez al mes
3 R//
Script :
#! /bin/bash
#Comprime el archivo llamado Respaldo donde DATE muestra d= dia del mes
#b=nombr del mes
#y =ultimo dos digitos del año. respaldame la carpeta var/log del sistema
#crear el script luego dar las cordenadas de ejecucion con #crontab -e
# el archivo queda donde se encuentra ejecutando el script
tar cvzf respaldo_`date +%d%b%y`.tar.gz /var/log
Link _ Opciones:
http://www.linuxtotal.com.mx/?cont=info_admon_007
#! /bin/bash
#Comprime el archivo llamado Respaldo donde DATE muestra d= dia del mes
#b=nombr del mes
#y =ultimo dos digitos del año. respaldame la carpeta var/log del sistema
#crear el script luego dar las cordenadas de ejecucion con #crontab -e
# el archivo queda donde se encuentra ejecutando el script
tar cvzf respaldo_`date +%d%b%y`.tar.gz /var/log
Link _ Opciones:
http://www.linuxtotal.com.mx/?cont=info_admon_007
# Luego escribimos contrab -e y escribimos lo siguiente:
#13 23 * * * /home/patricio/respaldo.sh
#donde se ejecutara el script llamado Respaldo.sh a las 23:13 todos los dias
# a Respaldo le asigne permiso de ejecucion con chmod .
luego escribir :
#13 23 * * * /home/patricio/respaldo.sh
#donde se ejecutara el script llamado Respaldo.sh a las 23:13 todos los dias
# a Respaldo le asigne permiso de ejecucion con chmod .
luego escribir :
crontab -e
21 15 15 * * /home/patricio/respaldo.sh
# para que se ejecute el archivo a las 15:21 todos los meses el dia 15 de cada mes
* / * / * / * / *
# para que se ejecute el archivo a las 15:21 todos los meses el dia 15 de cada mes
* / * / * / * / *
minuto/hora / dia_mes / Mes / Dia_Semana
0-59 / 0-23/ 1-31 / 1-12 / 0-6 donde 0=domingo
Mas Ejemplos
URL:
http://cuslanz.org.ve/24-10-2011/programar-tareas-con-cron
%a Nombre abreviado del día de la semana
%A Nombre completo del día de la semana
%b Nombre abreviado del mes
%B Nombre completo del mes
%c fecha y hora
%C Dos primeros dígitos del año, ejemplo 20 de 2007
%d Día del mes con dos dígitos, ejemplo 01
%D Igual que indicar %m/%d/%y
%e Día del mes con uno o dos dígitos, ejemplo 1, 10
%F Fecha completa, igual que %Y-%m-%d
%h igual que %b
%H Hora en formato 24 horas con dos dígitos (00..23)
%I Hora en formato 12 horas con dos dígitos(01..12)
%j El día del año (001..366)
%k Hora en formato 24 horas con uno o dos dígitos(0..23)
%l Hora en formato 12 horas con uno o dos dígitos(1..12)
%m Mes con dos dígitos(01..12)
%M Minutos con dos dígitos (00..59)
%r Hora completa en formato de 12 horas (ejemplo 01:23:45)
%R Horas y minutos en formato de 24 horas, igual que %H:%M
%s Segundos transcurridos desde 01/Ene/1970 00:00:00 (fecha epoch)
%S Segundos con dos dígitos, (00..60)
%T Hora completa en formato de 24 horas (ejemplo 13:23:45)
%u Dia de la semana en número (1..7, 1 es lunes)
%U Número de la semana en el año, domingo primer día de la semana (00..53)
%V Número de la semana en el año, lunes primer día de la semana (01..53) Formato ISO
%w Día de la semana en número (0..6, 0 es domingo)
%W Número de la semana en el año, lunes primer día de la semana (00..53)
%y Últimos dos dígitos del año
%Y Año con cutro dígitos
%z Huso o zona horaria numérica
%Z Huso o zona horaria abreviación alfabética
Mas Ejemplos
URL:
http://cuslanz.org.ve/24-10-2011/programar-tareas-con-cron
%a Nombre abreviado del día de la semana
%A Nombre completo del día de la semana
%b Nombre abreviado del mes
%B Nombre completo del mes
%c fecha y hora
%C Dos primeros dígitos del año, ejemplo 20 de 2007
%d Día del mes con dos dígitos, ejemplo 01
%D Igual que indicar %m/%d/%y
%e Día del mes con uno o dos dígitos, ejemplo 1, 10
%F Fecha completa, igual que %Y-%m-%d
%h igual que %b
%H Hora en formato 24 horas con dos dígitos (00..23)
%I Hora en formato 12 horas con dos dígitos(01..12)
%j El día del año (001..366)
%k Hora en formato 24 horas con uno o dos dígitos(0..23)
%l Hora en formato 12 horas con uno o dos dígitos(1..12)
%m Mes con dos dígitos(01..12)
%M Minutos con dos dígitos (00..59)
%r Hora completa en formato de 12 horas (ejemplo 01:23:45)
%R Horas y minutos en formato de 24 horas, igual que %H:%M
%s Segundos transcurridos desde 01/Ene/1970 00:00:00 (fecha epoch)
%S Segundos con dos dígitos, (00..60)
%T Hora completa en formato de 24 horas (ejemplo 13:23:45)
%u Dia de la semana en número (1..7, 1 es lunes)
%U Número de la semana en el año, domingo primer día de la semana (00..53)
%V Número de la semana en el año, lunes primer día de la semana (01..53) Formato ISO
%w Día de la semana en número (0..6, 0 es domingo)
%W Número de la semana en el año, lunes primer día de la semana (00..53)
%y Últimos dos dígitos del año
%Y Año con cutro dígitos
%z Huso o zona horaria numérica
%Z Huso o zona horaria abreviación alfabética
************************************************************************
************************************************************************
4.- En base al archivo que les adjunto (repetidos.txt) ustedes deberan generar un MENU con las
siguientes opciones ...
a) Mostar Nombres (sin repetirse)
b) Mostrar Nombres repetidos en mas de 2 ocaciones, y mostrar cuantas repeticiones.
c) salir
4.- En base al archivo que les adjunto (repetidos.txt) ustedes deberan generar un MENU con las
siguientes opciones ...
a) Mostar Nombres (sin repetirse)
b) Mostrar Nombres repetidos en mas de 2 ocaciones, y mostrar cuantas repeticiones.
c) salir
4 R//
#! /bin/bash
#ruta /home/patricio/apuntes_script/p_script/prueba_1
echo;echo
clear
cont=1
while [ $cont -le 1 ]
do
echo "#########MENU##########"
echo "1)Mostar Nombres sin Repetirse"
echo "2)Mostrar Nombres Repetidos mas de 2 Ocaciones/mostrar Cuantas Repeticiones "
echo "Salir"
echo -n "Elija una opcion: "
read opcion
case $opcion in
1) cat repetidos.txt | sort -d | uniq -c | grep -v "2"
;;
2) echo "Numero de Repeticiones / Nombre personal "
cat repetidos.txt | sort -d | uniq -c | grep -v "1"
;;
3) exit
;;
*)
echo "Usted a Ingresado Opcion "
esac
echo "Seleccionar la opcion"
echo -n "Continuar=(1) Salir=(2): "
read cont
clear
done
**********************************************************************
***********************************************************************
# Creando Modificacion de prueba 3 *************
#cut la fila 1 luego , en var se guarda la fila 7
# echo muestra lo sgte
#El interprete de comandos del usuario patricio y /bin/bash
for sin in $( cat /etc/passwd | cut -d ":" -f1 )
do
var=`cat /etc/passwd | grep $sin| cut -d ":" -f7`
sleep 1
echo "El interprete de comandos del usuario $sin y $var"
done
************************************************************************
*************************************************************************
ls -a = archivos ocultos
*********************************************************************
*******************GREP ********************************************
grep -v = muestra todo menos el patron de busqueda con esta opcion
grep -c = cuenta las lineas y muestra su resultado
cat -n las enumera
1.........
2
3
4
5
cat /etc/passwd | grep -io "^[^:]*"
-o = busca el patron buscado
-i = discrimina mayuscula y minuscula
^ = principio de linea
^: = en el rango antes de los :
* = todo
MUESTRA :
root
bin
daemon
adm
lp
sync
shutdown
halt
patricio
**********************************************************************************
**********************************************************************************
FIND
find -name
find -zise
find -perm
ejemplo :
find -perm 777
./env_correo
./validaciones_2
./crear_user
./cadena
**************************************************************
uniq -d solo lineas duplicadas
uniq -c liinea con el numero de apariiones
***************************************************************
COMPRESOR TAR.GZ
Ejemplo :
#! /bin/bash
#nombre del archivo a respaldar tmp directorio a respaldar
tar cvzf backuptmp.tar.gz /tmp 2> /dev/null
#crea el directorio Respaldo
mkdir /home/respaldos
# copia de root el archivo root/backuptmp.tar.gz al directorio home respaldo
cp /root/backuptmp.tar.gz /home/respaldos/ 2> /dev/null
PARA COMPRIMIR
tar cvzf mi_back1.tar.gz 1234567
tar cvzf respaldo_`date +%d%b%y`.tar.gz /var/log
PARA DESCOMPRIMIR
tar xzvf archivo.tar.gz
**************************************************************
******************************************************************
Ejemplo AWK
#BUSCA LA FILA 1 Y 2 SEPARADA POR " : " DEL ARCHIVO POBLACION.TXT
awk -F : '{print $1 ":" $2 }' poblacion.txt
#NR =3 : COLUMNA 3 - print $1, $2 fila 1 y 2 del archivo .txt
awk -F : ' NR==3 { print $1,"y", $2 }' poblacion.txt
# LO DIGITADO anterior muestra lo siguiente:
hector y 22
4*imprimir solo los nombres de usuarios del archivo etc/passwd
R// awk -F : '{print $1}' /etc/passwd
5*Imprimir todas las lineas del archivo con numero de lineas
R// awk -F : '{print $0}' /etc/passwd | cat -n
6*mostar solo los nombres y los tamaños de los archivos del directorio actual
R// ls -l | awk '{ print $9, $5 }'
7*Imprimir las lineas de un archivo que tengan mas de 9 campos x columnas
R// awk 'length > 9' poblacion.txt| cat -n
1 gerardo:20
2 esteban:21
3 patricio:24
4 abiathar:23
8*Imprimir todas las columnas que comiencen en a , con print $0 = todas las filas del archivo.txt
awk '/^a/{ print $0}' poblacion.txt
**************************************************************
**************************************************************
SORT
sort -r ordena de z , hasta la a
sort -d ordena de a hasta la z
***************************************************************
*****************************************************************
HEAD
#IMPRMIME LAS 3 LINEAS DE UN ARCHIVO : CON EL CAT LAS ENUMERA
head -n 3 poblacion.txt | cat -n
1 cesar:23
2 juan:21
3 hector:22
*******************************************************************
*******************************************************************
No hay comentarios:
Publicar un comentario