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 ------------------
