1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

SK-Scripts

Tema en 'Tutoriales Asuntos Técnicos' iniciado por Skamasle, 2 Feb 2014.

  1. Skamasle

    Skamasle Usuario activo

    Aveces hago scripts para uso personal, para cualquier tontería, algunos los comparto, otros no, tampoco espero que alguien los use o que le sirva, pero supongo que parte del código o el script entero pueda servir a alguien en algún momento.

    Primero mi última creación aún en fase de pruebas pero parece que va bien.

    Un script para hacer backups en casa.... a diferencia de un servidor que siempre esta online los pcs de casa no y como me canse de hacer backups manualmente hice este script que los hace automáticamente.

    Función:

    - Revisar si la computadora esta encendida, si esta encendida hacer backup si han pasado X días después del último backup.

    Este es bastante importante para mi así que seguro mejoraré el código bastante añadiendo arrays para buscar en varias computadoras y en la que este encendida hacer el backup y añadir la función USB que detectará si esta el USB de los backups conectado etc..

    SK- HomeUP

    CODE, HTML o PHP Insertado:
    #!/bin/bash
    # Respaldo v 0.2.1
    # Beta 1 en pruebas
    # Por Maks Skamasle - skamasle.com | yo@skamasle.com
    # 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.6 # ip o host del pc en donde se hará backup
    count=1            # Veces que se hará ping
    user=skamasle        # Usuario del pc local que se quiere respaldar ( no hace ni falta en esta versión aunque no lo quite aún :S )
    respaldar=/home/$user/ # Ruta a respaldar con / al final
    lock=/tmp/sk-homeup.lock # Lock file
    time=2        # Días en los que se borra el lock, al borrarse el lock se hará el backup cuando el pc este encendido.
    rmusr=root    # Usuario remoto...
    rmuta=/home/skamasle/carpeta/ # Ruta en el pc remoto /var/backup /home/user/backup /blabla
    remoto=$rmusr@$host:$rmuta # No hace falta tocar esto..
    
    if [ -e $lock ]; then
        find $lock -type f -mtime +$time | xargs rm -f
    fi
    backup () {
        rsync -a --delete $respaldar $remoto
        touch $lock
    }
    
    check () {
    estas=$(ping -c $count $host |grep "received" |cut -d " " -f4)
    
    if [ $estas -eq $count ]; then
        backup
    else
        #echo "Servidor off"
        exit 0
    fi
    }
    
    if [ ! -e "$lock" ]; then
        check
    else
        #echo "Lock File a la vista"
        exit 0
    
    fi
    --------------

    Este otro es uno de monitoreo, bastante sencillo, era más sencillo antes pero lo he modificado para que funcionará tal cual en cualquier servidor.

    Función:

    Ver si el servicio esta caído y si esta caído levantarlo y guardar un log:

    SK-Monitoring:


    CODE, HTML o PHP Insertado:
    #!/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
    
    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="$?"
    # Mejorable, pero por las prisas quedo así en vez de poner el 0 :/
    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 () {
    # Mejorable también.... pendiente..
    if [ -e /etc/init.d/$1 ]; then
        checkstatus $1
    fi
    }
    
    for servicio in $servicios
            do
                    existe $servicio
    done
    Más info: http://kb.skamasle.com/2013/monitorear-servicios-ftp-mysql-apache-etc-y-levantar-si-esta-caido/

    Si, si, que hay buenos scripts de monitoreo pero mucho más complejos y pesados: https://www.rfxn.com/projects/system-integrity-monitor/ y http://www.webmin.com/

    Otro día más.
     
    A marandia le gusta esto.
  2.  
  3. Skamasle

    Skamasle Usuario activo

    Uno que hice para facilitarme la tarea de instalar CSF y demás herramientas de Configserver.

    Función: Ejecuta los instaladores de CSF, CMM, CMQ y otros, añade también a la lista blanca de CSF las IPS de cloudflare que aveces dan problemas.

    El script es super sencillo, pero me facilita mucho las cosas al tener un todo en uno, cuando tenga tiempo le pondré para que csf agregue una configuración default a gusto de cada quien ( la que cada uno use )

    [​IMG]

    CODE, HTML o PHP Insertado:
    wget mirror.skamasle.com/scripts/skcs.sh
     
    A AMateos y marandia les gusta esto.
  4. Skamasle

    Skamasle Usuario activo

    Otro script más.

    - Respaldamos todas las bases del servidor.
    - Comprimimos las bases de datos.
    - Transferimos las bases de datos a un servidor por medio de RSYNC o FTP, o a un servidor por RSYNC y a otro por FTP para tener doble copia.
    - Respaldo incremental de archivos, por Rsync o por FTP o ambos.

    ----

    Esta en desarrollo, ya es funcional pero sigue en fase beta hasta que añada más opciones en la parte de transferencia para no dejar guardada la bd en local y otras funciones que tengo en mente pero que no he tenido tiempo de añadirle.

    Más info -> http://kb.skamasle.com/2014/sk-serv...o-de-mysql-y-transferencia-a-servidor-remoto/
     
    A marandia le gusta esto.
  5. Skamasle

    Skamasle Usuario activo

    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:

    CODE, HTML o PHP Insertado:
    #################
    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:

    CODE, HTML o PHP Insertado:
    mypass="pass" # Root Password
    Por lo demás se puede editar el tiempo que guarda los backups y la ruta donde se guardan.

    CODE, HTML o PHP Insertado:
    wget http://mirror.skamasle.com/scripts/skdumpbd.sh
    CODE, HTML o PHP Insertado:
    chmod +x skdumpbd.sh
    CODE, HTML o PHP Insertado:
    ./skdumpbd.sh
    Más info: http://kb.skamasle.com/2014/respald...backup-all-data-bases-plesk-cpanel-ispconfig/
     
    A marandia y vicram les gusta esto.
  6. Skamasle

    Skamasle Usuario activo

    Hoy dejo por aquí un script que tenia pensado hacer ya y que como me comentaron que lo necesitaban pues lo hice ayer mismo en un rato libre.

    Sk-mysql-monitor.

    - Revisa si mysql esta online.
    - Si esta caído lo levanta.
    - Manda un email con un informe de los logs ( 35 ultimas lineas del log de mysql ) también adjunta ps aux ( al final no se por que lo puse ) y el load.
    - Si mysql no inicia aparte manda un email a la misma dirección de correo o a otra diciendo que no se a podido iniciar y muestra el código de error, 2, 3, 4 etc

    Por ahora be 0.1 funciona bastante bien.

    Solo falta añadirle la opción para que envié un solo email cuando queda off y otro cuando lo levante y no mande más emails cuando este off, esto ya lo añadiré en otro rato libre.


    Descargar:

    wget mirror.skamasle.com/scripts/sk-mysql-monitor.sh

    Editar:

    LOG='/var/lib/mysql/HOSTNAME.err'
    EMAIL1='tucorreo@mail.com'
    EMAIL2='tucorreo@mail.com'


    Permisos:

    chmod +x sk-mysql-monitor.sh

    Cron:

    */2 * * * * /root/sk-mysql-monitor.sh

    El script es sencillo, hay mejores claro esta, pero me gusta tener siempre uno de estos propio, ya con el tiempo ira mejorando en ratos libres para estar entretenido.
     
    A AMateos le gusta esto.
  7. Skamasle

    Skamasle Usuario activo

    Dejo uno de mis últimos scripts públicos :D

    Rotar IPs de salida de correo en cPanel.

    Se ejecuta en un cron, va rotando las IPs que hay en el archivo /root/ips, una IP por linea.

    Cambia la IP de salida de Exim asignada en /etc/mailips

    CODE, HTML o PHP Insertado:
    #!/bin/bash
    # Rotar IPs en Exim | cPanel
    # Hecho Por Maks -> Skamasle
    # Versión 0.3 | Funcional  8 de Febrero 2015
    # Contacto: http://skamasle.com
    #  Bajo licencia GNU GPL http://www.gnu.org/licenses/ se distribuye sin ninguna garantía.
    # twitter @skamasle
    # Más info y updates: http://kb.skamasle.com/2015/exim-ip-rotate-script-for-cpanel/
    ############################
    # Archivo con ips - una ip por linea
    #
    archivoips=/root/ips
    #############################
    #
    #
    archivorotar=/etc/mailips
    ipusada=/tmp/ipusada
    ips=$(cat $archivoips)
    tor=1
    ipactual=$(cat $archivorotar |grep "*:" |cut -d " " -f2)
    numips=$(cat $archivoips | wc -l)
    ultima=$(tail -n1 $archivoips)
    if [ ! -e $ipusada ]; then
       touch $ipusada
    fi
    rota(){
    if [ "$1" != "$ipactual" ]; then
       if [ $tor = 1 ]; then
         sed -i -e "s/$ipactual\b/$1/g" $archivorotar
         let "tor = $tor + 1"
         echo "$1" >> $ipusada
         /etc/init.d/exim restart
       fi
    fi
    }
    
    check(){
    estas=$(grep $1 $ipusada)
    status=$?
    if [ $tor = 1 ]; then
       if [ "$ultima" = "$1" ]; then
         cat /dev/null > $ipusada
         rota $1
       elif [ $status = 1 ]; then
         rota $1
       fi
    fi
    }
    
    for ip in $ips
       do
           check $ip
    done
    
    
    Más info y actualizaciones: http://kb.skamasle.com/2015/exim-ip-rotate-script-for-cpanel/
     
  8. Skamasle

    Skamasle Usuario activo

    Dejo por aquí la primera beta publica del importador de backups de cpanel en vestacp, tiene algunos bugs que estoy fixeando y algunos errores de código que ya están corregidos pero que saldrán la beta 0.3.6

    Beta 0.3.5

    -. Warnings:
    - No revisa si las bases de datos existen antes de restaurarlas ( solucionado en beta 0.3.6 )
    - Si el user en vesta existe la importación continua ( en la beta lo tomamos como que lo a creado el usuario )

    -- Bugs
    - De momento no funciona si database prefix esta off ( casi ningún cpanel lo tiene off )
    - Algunas bases de datos no se restauran si no tienen grant all privileges y gran usage selectivo... por defecto buscamos todo lo que apunta a local host, seleccionamos el grant all y sacamos bds y usuarios, si no se cumple esto no se restaura, en principio no es un bug, es una limitación del código para la versión beta y que tengo que solucionar en futuras versiones.



    CODE, HTML o PHP Insertado:
    cd /root
    
    wget http://mirror.skamasle.com/vestacp/skcpanelimporter/sk_importer_beta0.3.5.sh
    
    bash sk_importer_beta0.3.5.sh backup-4.4.2016_09-06-38_user.tar.gz
    Más info: https://www.skamasle.com/migration-...t-para-restaurar-backup-de-cpanel-en-vestacp/

    Cualquier comentario o reporte de bug si alguien lo usa bien venido sea.

    Hace tiempo no me paso por aquí dejando script y tengo bastantes por ahí , aunque dejo este de momento que necesito beta testers
     
    A AMateos le gusta esto.
  9. Skamasle

    Skamasle Usuario activo

    Actualizados muchos bugs del importador de backups de cPanel a VestaCP en la versión 0.4.x, versión actual 0.4.5, algunas mejoras en la importación de bases de datos para hacerlo mucho más compatible con algunos backups viejos y backups migrados muchas veces de servidor y con permisos "especiales"

    CODE, HTML o PHP Insertado:
    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
     
  10. Skamasle

    Skamasle Usuario activo

    Algunas mejoras hechas en la 0.4 del importador de cpanel a vestacp.

    Trabajando en:

    Restaurar crons, restaurar ssl.

    Otros proyectos:

    Con algo de de suerte si saco tiempo de bajo de una piedra:

    Importador de backups de plesk a vestacp

    Perl comming soon :D
     
    A BRiNk le gusta esto.
  11. badger

    badger Usuario activo

    Hola, en primer lugar gracias por compartir tus scripts.

    Veo un problema en el script del primer post: estás haciendo backups remotos sin cifrar, yo lo modificaría para usar rsync a través de ssh (--rsh="ssh"), de esta forma va cifrado y además no necesitas correr el servidor rsyncd.

    Otra opción para hacer backups incrementales son los clásicos dump y restore.

    Saludos.
     
  12. Skamasle

    Skamasle Usuario activo

    Hola

    Revisa el script minuciosamente ya que por defecto conecta por SSH y no a rsyncd, no hay que configurar el demonio de rsync en el servidor remoto, hay que especificar el puerto del SSH, en versiones mejoradas del script tengo mejores opciones de configuración pero viene siendo lo mismo conecta por SSH.

    Un saludo
     
  13. Skamasle

    Skamasle Usuario activo

    Importador de cPanel a vestaCP 0.5

    He tenido que rediseñar parte del código que importaba las bases de datos en el importador de cpanel a vestacp, por cabezón y por no usar lo más sencillo metí 100 lineas de más en su día.

    - Mejorada la importación de bases de datos
    - Opción de importar el default user con su clave y los permisos para todas las bases de datos si se desea aunque hay que modificar el code quitando unas lineas
    - Importa SSL, aunque falla si no esta el cabundle ya que es requisito de vesta en algunos ssl.
    - Compatible también con mysql 5.7 siempre y cuando se aplique el patch que hice para vestacp en ubuntu 16 -> https://forum.vestacp.com/viewtopic.php?t=13239 esto es solo necesario en vesta v17 e inferiores en la v18 vendrá parcheado el problema
    - Mejoras varias.

    CODE, HTML o PHP Insertado:
    cd /root
    
    wget http://mirror.skamasle.com/vestacp/skcpanelimporter/sk_importer_beta0.5.sh
    
    bash sk_importer_beta0.5.sh backup-4.4.2016_09-06-38_user.tar.gz
    Cuando tenga tiempo más mejoras en la importación de correos que si bien funciona como debe hacen falta algunos ajustes.
     
  14. Skamasle

    Skamasle Usuario activo

    Tendré que hacer un nuevo tema para los importadores,

    Aquí tengo el último que hice hace poco

    Importador de backups de DirectAdmin a Vestacp

    Esta en fase alpha, faltan pruebas con más backups pero en principio funciona bien y hace lo siguiente:

    - Restaura Dominios
    - Restaura Archivos
    - Restaura bases de datos - Usuarios de bases de datos y contraseñas.
    - Restaura cuentas de correo y sus contraseñas

    CODE, HTML o PHP Insertado:
    cd /root/
    
    wget mirror.skamasle.com/vestacp/skdaimporter/sk_da_importer.sh
    
    bash sk_da_importer.sh da-user-backup.tar.gz
    
    Más info y actualizaciones: https://www.skamasle.com/migrar-cuenta-de-directadmin-a-vestacp/
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·