En este tema iré dejando algunos scripts que hago para uso personal que aveces le pueden servir a otras personas.
--- Sk-Monitoring
Sencillo pero eficiente, lo hice para monitorear un servidor FTP luego ya quedo para monitorear los servicios que uno le agregue.
--- SK-ServerUp
Mi último código, para los que no usan panel y necesitan una solución "sencilla" para hacer backups:
Lo que hace:
- Respalda todas las bases de datos que hay y las comprime.
- Podemos escoger cuantos días retener las bases de datos.
- Permite transferir esas bases de datos a un servidor remoto ya sea con RSYNC o por FTP ( o a dos servidores uno por RSYNC y a otro por FTP )
- Tiene una opción para hacer backup incremental remoto de archivos o sea del /home o del /var/www o donde estén las webs, igual lo hace con RSYNC o por FTP.
El script esta en fase pruebas también ya le estoy haciendo unas mejoras que pronto publicaré, por ahora se puede descargar el script desde > Sk-serverup – Respaldo Automatico de Mysql y Transferencia a Servidor Remoto | Base de Conocimientos
Ahí se puede ver más info de como funciona o bien pueden bajarlo directamente:
wget mirror.skamasle.com/scripts/SK-ServerUP.sh
Ahora es funcional, aunque ESTA EN FASE DE PRUEBAS y a espera de mejoras.
Tengo planes de hacerlo compatible con cpanel ( compartido, para ejecutar desde un cron y mandar el backup por ftp a otro server )
------------------------------------
SK-HomeUP -> Este no es de servidores, es para los que tenemos varios PCS y usamos linux y necesitamos hacer backups de un PC a otro pero que sea automatico, que detecte que el PC este encendido y que haga el backup cuando esto ocurra y luego se bloquee para que haga el otro backup dentro de dos días o los que necesitemos.
Y esto es lo que hace el script:
- Revisa si esta el PC encendido y si esta hace el backup.
- SI el backup se completa correctamente se auto bloquea hasta la proxima ejecución ( 2 días o los días que pongamos )
- SI el backup no termina por que se apago el pc o lo que sea no se autobloquea, vuelve a probar en unos minutos (según el cron)
Más info -> Backups Caseros – Remotos e Incrementales si el PC esta Encendido. | Base de Conocimientos
Código: ( también en fase de pruebas aunque funciona bien )
Descarga:
Por ahora es todo, ya iré dejando más scripts que tengo, auto instaladores y otras casillas, igual en mi blog pueden ver más.
Espero le sirva a alguien y si encuentran algún fallo en los que están en pruebas me dicen y si se les ocurre alguna mejora también
Y pronto alguno que otro script en perl verán por aquí, aunque espero que más complejos.
****************************
Mejora de SK-ServerUP
Bueno, toca una mejora del script de respaldos de BDS
Que he hecho hace un par de meses y que ya he probado en más de 30 servidores, varios cpanel, varios, plesk varios ispconfig y 1 directadmin ya que hasta hoy añadi soporte para directadmin..
Es igual que el SK-serverUp, pero le quiete la función de transferir archivos por Rsync y LFTP, me di cuenta que era bastante liosa la configuración y que es más fácil hacer un simple cron con rsync para transferir las bases de datos en vez de editar el archivo de configuración que tenia el script..
Ahora el script solo respalda bases de datos, se puede ejecutar directamente como ./script.sh o bien hacer un cron, por defecto esta configurado para guardar 5 días de bases de datos, comprimidas en gz.
Antes que nada se tiene que editar esta linea:
El script saca la clave automáticamente, o sea que no hay que escribir la clave en el archivo de configuración por seguridad, al menos que no se tenga ningún panel y tampoco seteado el .my.cnf con la clave ahí si habría que escribir la clave... dejando servertipy con la opción normal y luego escribiendo la clave unas lineas más abajo:
Por lo demás se puede editar el tiempo que guarda los backups y la ruta donde se guardan.
Más info: Respaldar todas las bases de datos | Backup All Data Bases: Plesk, cPanel, Ispconfig, DirectAdmin | Base de Conocimientos
--- Sk-Monitoring
Sencillo pero eficiente, lo hice para monitorear un servidor FTP luego ya quedo para monitorear los servicios que uno le agregue.
Insertar CODE, HTML o PHP:
#!/bin/bash
# Monitoreo de servicios.
# Por Skamasle - Maks
# Skamasle.com - kb.skamasle.com
# Contacto yo@skamasle.com
# Modificación: 29 dic 2013
# Versión 0.4
# Use bajo su propio riesgo, skamasle.com no se hace responsable del uso que se le de al script
# NOTA: Este script no borra ni hace intentos de borrar ningún archivo, solo revisa que los
# servicios estén corriendo, el único archivo que crea este script es ReporteServicios.txt
# que es donde se guardará el reporte de servicios que han estado caídos.
# > http://kb.skamasle.com/2013/monitorear-servicios-ftp-mysql-apache-etc-y-levantar-si-esta-caido/
servicios='proftpd mysql apache2 nginx varnish memcached lighttpd pureftpd pure-ftpd-mysql httpd'
report=/root/ReporteServicios.txt
fecha=$(date)
checkstatus () {
service $1 status > /dev/null
status="$?"
if [ $status -eq "1" ] || [ $status -eq "2" ] || [ $status -eq "3" ] || [ $status -eq "4" ]; then
echo "$1 esta caído" $fecha >> $report
/etc/init.d/$1 start >> $report
fi
}
existe () {
if [ -e /etc/init.d/$1 ]; then
checkstatus $1
fi
}
for servicio in $servicios
do
existe $servicio
done
--- SK-ServerUp
Mi último código, para los que no usan panel y necesitan una solución "sencilla" para hacer backups:
Lo que hace:
- Respalda todas las bases de datos que hay y las comprime.
- Podemos escoger cuantos días retener las bases de datos.
- Permite transferir esas bases de datos a un servidor remoto ya sea con RSYNC o por FTP ( o a dos servidores uno por RSYNC y a otro por FTP )
- Tiene una opción para hacer backup incremental remoto de archivos o sea del /home o del /var/www o donde estén las webs, igual lo hace con RSYNC o por FTP.
El script esta en fase pruebas también ya le estoy haciendo unas mejoras que pronto publicaré, por ahora se puede descargar el script desde > Sk-serverup – Respaldo Automatico de Mysql y Transferencia a Servidor Remoto | Base de Conocimientos
Ahí se puede ver más info de como funciona o bien pueden bajarlo directamente:
wget mirror.skamasle.com/scripts/SK-ServerUP.sh
Ahora es funcional, aunque ESTA EN FASE DE PRUEBAS y a espera de mejoras.
Tengo planes de hacerlo compatible con cpanel ( compartido, para ejecutar desde un cron y mandar el backup por ftp a otro server )
------------------------------------
SK-HomeUP -> Este no es de servidores, es para los que tenemos varios PCS y usamos linux y necesitamos hacer backups de un PC a otro pero que sea automatico, que detecte que el PC este encendido y que haga el backup cuando esto ocurra y luego se bloquee para que haga el otro backup dentro de dos días o los que necesitemos.
Y esto es lo que hace el script:
- Revisa si esta el PC encendido y si esta hace el backup.
- SI el backup se completa correctamente se auto bloquea hasta la proxima ejecución ( 2 días o los días que pongamos )
- SI el backup no termina por que se apago el pc o lo que sea no se autobloquea, vuelve a probar en unos minutos (según el cron)
Más info -> Backups Caseros – Remotos e Incrementales si el PC esta Encendido. | Base de Conocimientos
Código: ( también en fase de pruebas aunque funciona bien )
Insertar CODE, HTML o PHP:
#!/bin/bash
# Respaldo v 0.3.0
# Beta en pruebas
# Por Maks Skamasle - skamasle.com | yo@skamasle.com
# Jueves 13 feb 2014
# Script para backups locales ( caseros )
# Comprueba que la computadora en la que se hará backup este encendida.
# Si esta online hace backup, si no revisa más tarde ( según el cron puede ser cada 5 min)
# En caso de estar online hace el backup incremental y no se ejecuta hasta al siguiente día asignado.
# Requiere rsync y keys rsa sin clave.
##################################################################################################################
# Este script a sido liberado por si a alguien le sirve, no se garantiza que funcione, use bajo su propio riesgo.#
##################################################################################################################
host=192.168.0.2 # ip o host del pc en donde se hará backup
count=1 # Veces que se hará ping
port=22 # Puerto SSH
respaldar=/home/user # Ruta a respaldar.
time=2 # Cada cuantos días se quiere el backup.
rmusr=root # Usuario remoto...
rmuta=/backup # Ruta en el pc remoto /var/backup /home/user/backup /blabla
remoto=$rmusr@$host:$rmuta # No hace falta tocar esto..
lock=/tmp/sk-homeup.lock # Lock file
if [ -e $lock ]; then
find $lock -type f -mtime +$time | xargs rm -f
fi
backup () {
rsync -a --delete -e "ssh -p $port" $respaldar $remoto
status="$?"
if [[ $status -eq "0" ]]; then
touch $lock
else
#echo "Posponiendo... por código de error $status"
exit 1
fi
}
check () {
estas=$(ping -c $count $host |grep "received" |cut -d " " -f4)
if [[ "$estas" -eq "$count" ]]; then
backup
else
#echo "Servidor off"
exit 1
fi
}
if [ ! -e "$lock" ]; then
check
else
#echo "Lock File a la vista"
exit 1
fi
Descarga:
Insertar CODE, HTML o PHP:
wget mirror.skamasle.com/scripts/sk-homeup.sh
Por ahora es todo, ya iré dejando más scripts que tengo, auto instaladores y otras casillas, igual en mi blog pueden ver más.
Espero le sirva a alguien y si encuentran algún fallo en los que están en pruebas me dicen y si se les ocurre alguna mejora también
Y pronto alguno que otro script en perl verán por aquí, aunque espero que más complejos.
****************************
Mejora de SK-ServerUP
Bueno, toca una mejora del script de respaldos de BDS
Que he hecho hace un par de meses y que ya he probado en más de 30 servidores, varios cpanel, varios, plesk varios ispconfig y 1 directadmin ya que hasta hoy añadi soporte para directadmin..
Es igual que el SK-serverUp, pero le quiete la función de transferir archivos por Rsync y LFTP, me di cuenta que era bastante liosa la configuración y que es más fácil hacer un simple cron con rsync para transferir las bases de datos en vez de editar el archivo de configuración que tenia el script..
Ahora el script solo respalda bases de datos, se puede ejecutar directamente como ./script.sh o bien hacer un cron, por defecto esta configurado para guardar 5 días de bases de datos, comprimidas en gz.
Antes que nada se tiene que editar esta linea:
Insertar CODE, HTML o PHP:
#################
servertype=normal # Opciones: normal, cpanel, plesk, ipsconfig, directadmin
#################
Insertar CODE, HTML o PHP:
mypass="pass" # Root Password
Insertar CODE, HTML o PHP:
wget http://mirror.skamasle.com/scripts/skdumpbd.sh
Insertar CODE, HTML o PHP:
chmod +x skdumpbd.sh
Insertar CODE, HTML o PHP:
./skdumpbd.sh
Última edición: