LinuxParty
Los scripts para Linux, los podéis ver tras el salto...
Podéis sugerir mejoras con los comentarios.
------------------
Script de Copias de Seguridad:
------------------
#!/bin/sh
#
#
clear
ourname=$"Servidor-primero"
server="$(uname -a |awk '{print $2}')"
sistema="$(head -1 /etc/redhat-release | awk '{print $1 $2}')"
# *********** Los nuevos sistemas tienen estos ficheros... *********
# sistema="$(head -1 /etc/system-release | awk '{print $1}')"
# version="$(head -1 /etc/system-release | awk '{print $3}')"
# *********** Los nuevos sistemas tienen los ficheros de arriba ****
version="$(head -1 /etc/redhat-release | awk '{print $7}')"
#
echo "Ejecutando scripts de copia de seguridad, las copias se escribirán en:"
echo "/lugardelacopia/backup/"
#
echo "Detectado...: $sistema $version."
#!/bin/bash
suffix=$(date +%d-%m-%y)
cd /
echo "Ruta Actual de Trabajo..."
pwd
echo " "
echo "Copiando...: "
# Copia de seguridad del directorio /etc
echo "Paso 1 de 9"
tar cfz copia-general-etc-$suffix.tar.gz /etc
# Copia de seguridad de /etc/sysconfig
echo "Paso 2 de 9"
tar cfz copia-etc-sysconfig-$suffix.tar.gz /etc/sysconfig/
# Copia de seguridad de /etc/sysconfig/network-scripts/
echo "Paso 3 de 9"
tar cfz copia-etc-sysconfig-network-scripts-$suffix.tar.gz /etc/sysconfig/network-scripts/
# Copia de seguridad de /root
echo "Paso 4 de 9"
#
echo " Opteniendo paquetes instalados..."
rpm -qa |sort > /root/paquetes-rpm-instalados-$suffix.txt
echo " Opteniendo el crontab de root..."
echo "#.-------------- minuto (0 - 59) " > /root/crontab-de-root.txt
echo "#| .----------- hora (0 - 23)" >> /root/crontab-de-root.txt
echo "#| | .-------- día del mes (1 - 31)" >> /root/crontab-de-root.txt
echo "#| | | .----- mes (1 - 12) O jan,feb,mar,apr ... (los meses en inglés)" >> /root/crontab-de-root.txt
echo "#| | | | .-- día de la semana (0 - 6) (Domingo=0 o 7) O sun,mon..." >> /root/crontab-de-root.txt
echo "#| | | | |" >> /root/crontab-de-root.txt
echo "#* * * * * comando para ser ejecutado" >> /root/crontab-de-root.txt
crontab -l >> /root/crontab-de-root.txt
tar cfz root-$suffix.tar.gz /root
# rm -f /root/paquetes-rpm-instalados-$suffix.txt
echo " Ok, información recogida..."
##
# Copia de seguridad de /usr/lib/rpmdb
echo "Paso 5 de 9"
tar cfz usr-lib-bbdd-rpmdb-$suffix.tar.gz /usr/lib/rpmdb
# Copia de Seguridad de /usr/lib/rpm
echo "Paso 6 de 9"
tar cfz usr-lib-bbdd-rpm-no-rpmdb-$suffix.tar.gz /usr/lib/rpm
# Copia de Seguridad de /var/spool/up2date
echo "Paso 7 de 9"
tar cfz var-spool-up2date-$suffix.tar.gz /var/spool/up2date
# Copia de seguridad de la BB.DD.
echo "Paso 8 de 9"
# mysqldump --opt -uUSUARIO CONTRASEÑA -h HOST BASEDEDATOS | gzip -c > NOMBREBASEDATOS-sql-$suffix.sql.gz
cd /
# Empaquetamos las dos cosas.
echo "Paso 9 de 9"
tar cfz var-named-$suffix.tar.gz /var/named
# Terminado, empaquetando y guardando..."
echo "Terminando, empaquetando y guardando..."
tar cvfz $ourname-$server-$sistema-$version--$suffix.tgz *.tar.gz
rm *-$suffix.tar.gz
echo " * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * "
echo " * ATENCION, OPCIONALMENTE PUEDE HACER QUE EL SCRIPT BORRE LOS * "
echo " * FICHEROS .tar.gz QUE HA DEJADO EN LA RAIZ, QUE AHORA DEBE * "
echo " * BORRAR MANUALMENTE, PARA EVITAR DEJAR BASURA EN EL SERVIDOR * "
echo " * BORRE CON LA OPCIÓN: rm -iv *-$suffix.tar.gz * "
echo " * PARA BORRAR SOLO LOS FICHEROS CORRESPONDIENTES CON ESA FECHA* "
echo " * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * "
echo " Moviendo la copia de seguridad..."
mv -v $ourname-$server-$sistema-$version--$suffix.tgz /lugardelacopia/backup
echo " Concluido."
------------------
Script para Recoger información:
------------------
#!/bin/bash
#
#Comprobamos que el usuario es root.
echo " "
if [ $(whoami) != "root" ]; then
echo "Debes ser root para correr este script."
echo "Para entrar como root, escribe 'su' sin las comillas."
echo " "
exit 1
fi
clear
echo "=========================================" > /root/tiposervidor.txt
echo "Recogida de datos del tipo de Servidor..." >> /root/tiposervidor.txt
echo "=========================================" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "----Información General...--------" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "Sistema Operativo.:" >> /root/tiposervidor.txt
cat /proc/sys/kernel/ostype >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "Versión del OS.:" >> /root/tiposervidor.txt
cat /proc/sys/kernel/osrelease >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "Hostname.:" >> /root/tiposervidor.txt
cat /proc/sys/kernel/hostname >> /root/tiposervidor.txt
echo "Domain Name.:" >> /root/tiposervidor.txt
cat /proc/sys/kernel/domainname >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "Tiempo vivo...-------------------" >> /root/tiposervidor.txt
uptime >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "--- Fin de Información General.---" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "----Información sobre la CPU.------" >> /root/tiposervidor.txt
cat /proc/cpuinfo >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "------FIN INFO DE LA CPU-----------" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "----Información sobre el disco-----" >> /root/tiposervidor.txt
cat /proc/diskstats >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "-----fin info del disco------------" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "-Información sobre las particiones-" >> /root/tiposervidor.txt
cat /proc/partitions >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "-Fin info sobre las particiones----" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "---Información sobre la memoria----" >> /root/tiposervidor.txt
cat /proc/meminfo >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "------fin info sobre memoria-------" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo "---INFORMACIÓN DE RED-------------" >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
dmesg | grep eth >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
echo " " >> /root/tiposervidor.txt
lspci >> /root/tiposervidor.txt
lspci -vv >> /root/tiposervidor.txt
echo "=========================================" >> /root/tiposervidor.txt
echo "FIN Recogida de datos del tipo de Servidor..." >> /root/tiposervidor.txt
echo "=========================================" >> /root/tiposervidor.txt
echo " "
echo " "
echo " Documento guardado en /root/tiposervidor.txt"
echo " ¿Desea verlo ahora (opción 1) o Después (opción 0)?"
#Menu de Administración
while [ "$opcion" != "0" ]
do
#Mostramos el menú
echo
echo "Menú"
echo "----"
echo " 1. Verlo ahora. (use q para salir)"
echo " 0. Salir."
echo
echo -n " Elige una opción: "
read opcion
case $opcion in
1 )
less /root/tiposervidor.txt
;;
0 )
exit 0
;;
esac
done
exit 0
------------------
Script para comprobar la carga de trabajo (RAM, CPU, SWAP y conexiones) de un servidor Web)
------------------
#!/bin/bash # # By Javier Orovengua MY_VERSION="1.1a" # Set path PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin # Specify custom (source) script, if used CUSTOM_SCRIPT="/usr/local/sbin/sr_custom_script" echo "--------------------------------------------------" echo "$(date +'%b %d %k:%M:%S') Status report v$MY_VERSION for $HOSTNAME" echo "--------------------------------------------------" echo "--------------------------------------------------" cd /var/log/ ps ax|grep httpd > conexiones_http_simultaneas ; wc -l conexiones_http_simultaneas export TERM=vt100; /usr/bin/top -b -n 1 |grep -i '^CPU' export TERM=vt100; /usr/bin/top -b -n 1 |grep -i '^MEM' export TERM=vt100; /usr/bin/top -b -n 1 |grep -i '^SWAP' echo "--------------------------------------------------" if [ -e "$CUSTOM_SCRIPT" ]; then . "$CUSTOM_SCRIPT" fi ------------------

-
Scripting
- Shell Scripting para automatizar las tareas de mantenimiento del sistema Linux
- (Nuevo) Script colorido y elegante para comprobar la carga de trabajo (Re-ACTUALIZADO)
- Script para comprobar el Estado General del Ordenador / Servidor.
- Script Linux y BAT de Windows para abrir ficheros aleatoriamente
- Bash-it - un Framework de Bash para controlar sus scripts y aliases
- 3 scripts Linux para monitorizar, hacer copias de seguridad y recoger informació
- Comprensión y aprendizaje de scripts de shell básicos y solución de problemas del sistema de archivos de Linux
- Transfer.sh - Fácil intercambio de archivos desde la línea de comandos de Linux
- 7 Ejemplos de operadores para Grep, como Grep OR, Grep AND y Grep NOT en Linux
- Entrecomillar un resultado obtenido por find
- Script de cuenta atrás en Linux (contdown)
- Quitar la primera y última FILA en una salida, un espacio vacío o en un fichero Shell bash con Linux



