Sk-Scripts - Backup - Monitoring y poco más.

Desde
16 Oct 2010
Mensajes
3.090
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.


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

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
#################
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:
Insertar CODE, HTML o PHP:
mypass="pass" # Root Password
Por lo demás se puede editar el tiempo que guarda los backups y la ruta donde se guardan.
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
Más info: Respaldar todas las bases de datos | Backup All Data Bases: Plesk, cPanel, Ispconfig, DirectAdmin | Base de Conocimientos
 
Última edición:
Desde
16 Oct 2010
Mensajes
3.090
Gracias por los comentarios :)

Esta semana o la otra o cuando tenga tiempo liberaré mi sanador de wordpress :D

Hoy tuve que lidiar con otra cuenta cpanel infectada, en este caso varios miles de archivos ( muchas webs ) y todos infectados.

Así que tuve que hacer un pequeño script que hiciera el trabajo por mi.

Lo que hace:

- Buscar las carpetas wp-admin y wp-includes y otros archivos de wp ( index.php, settings.php etc ) y los reemplaza por uno nuevo.
- Hacemos una lista de nuestros plugins y los dejamos en una carpeta, el script busca en wp-content/plugins y reemplazará los plugins que hay por unos limpios y sin malware.
- Lo mismo que antes pero con themes.

En fin, cuando este completamente terminado limpiar 50 instalaciones de wordpress de malware será muy sencillo y cuestión de minutos, y más sencillo será si usan los mismos plugins en todos los wordpress cosa que es bastante común.

A ver que sale :D
 

iNeedYou

1
Sigma
SEO
Verificado
Verificación en dos pasos activada
¡Ha verificado su Paypal!
¡Excelente comerciante!
Suscripción a IA
Desde
27 Sep 2010
Mensajes
14.798
Muy grande Ska, mil gracias ;)
 
Desde
16 Oct 2010
Mensajes
3.090
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
#################
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:
Insertar CODE, HTML o PHP:
mypass="pass" # Root Password
Por lo demás se puede editar el tiempo que guarda los backups y la ruta donde se guardan.
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
Más info: Respaldar todas las bases de datos | Backup All Data Bases: Plesk, cPanel, Ispconfig, DirectAdmin | Base de Conocimientos
 
Última edición:
Desde
16 Oct 2010
Mensajes
3.090
Actualizado el skdumbdb con soporte para DA, bugs corregidos y añadidos segundos y minutos para poder crear bases de datos cada 5 minutos o menos si así se necesita !
 

HostingPowerful

Préstamo
Épsilon
Desde
8 Oct 2013
Mensajes
861
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Sin duda esto vale oro! Gracias [MENTION=3716]skamasle[/MENTION] !
 
Desde
16 Oct 2010
Mensajes
3.090
Hace tiempo no actualizo esto, pero dejo por aquí un script que hice hace poco.

Importador de cPanel a VestaCP:

Beta 0.4

– Mejorada detección de bases de datos.
– Mejorada importación de bases de datos
– Solucionados bugs en la importación de algunas bases de datos.
– En términos generales esta versión cambia todo el sistema de importación de bases de datos para solucionar bugs con algunos backups y solucionar problemas cuando no hay grant all privileges.
– Se cambia también la restauración de los permisos y el usuario, solo se restara el usuario que pertenece a la base de datos, solo se restaura la contraseña que pertenece al usuario.
– No se restaura completo el mysql.sql ya que contiene muchos grant all privilegies de cPanel debido a migraciones entre servidor, lo cual puede ser un problema de seguridad.

----------

Descargar beta publica 0.4:

Insertar CODE, HTML o PHP:
cd /root

wget http://mirror.skamasle.com/vestacp/skcpanelimporter/sk_importer_beta0.4.sh

bash sk_importer_beta0.4.sh backup-4.4.2016_09-06-38_user.tar.gz

Más info y actualizaciones: https://www.skamasle.com/migration-...t-para-restaurar-backup-de-cpanel-en-vestacp/
 
Última edición:
Arriba