Blog de Javier Castañón – JavCastaPosts RSS Comments RSS


Clip de audio: Es necesario tener Adobe Flash Player (versión 9 o superior) para reproducir este clip de audio. Descargue la versión más reciente aquí. También necesita tener activado Javascript en su navegador.


Only if I lied could I love you
Nothing of our lives could we share
Only could we try to get by on a sigh
Just because, just this once, I was there.

Bandas sonoras alternativas:

  • Clip de audio: Es necesario tener Adobe Flash Player (versión 9 o superior) para reproducir este clip de audio. Descargue la versión más reciente aquí. También necesita tener activado Javascript en su navegador.

  • Clip de audio: Es necesario tener Adobe Flash Player (versión 9 o superior) para reproducir este clip de audio. Descargue la versión más reciente aquí. También necesita tener activado Javascript en su navegador.

  • Clip de audio: Es necesario tener Adobe Flash Player (versión 9 o superior) para reproducir este clip de audio. Descargue la versión más reciente aquí. También necesita tener activado Javascript en su navegador.

  • Clip de audio: Es necesario tener Adobe Flash Player (versión 9 o superior) para reproducir este clip de audio. Descargue la versión más reciente aquí. También necesita tener activado Javascript en su navegador.

  • Clip de audio: Es necesario tener Adobe Flash Player (versión 9 o superior) para reproducir este clip de audio. Descargue la versión más reciente aquí. También necesita tener activado Javascript en su navegador.

Share

Error al inicio de Ubuntu al montar particion ntfs de Win8.

 powercfg

El escenario es una cpu con dos sistemas operativos, Win8 y Ubuntu 14.04.02 LTS.
Al iniciar Ubuntu me daba un error al montar la partición ntfs del windows 8.
Parando el arranque del sistema con un mensaje de:
 

“Apretar S para no montar partición o M para montarla manualmente”

Para evitar este engorro encontré la  solución en:

http://www.ubuntu-es.org/node/180905#.VZ7NM5NVK1F

La solución:

Iniciar Windows 8 y desde una consola con privilegios de administrador

(ejecutar: runas /user:administrador cmd)

Deshabilitar la hibernación  de windows:

c:> powercfg /H OFF

Cierro Win, inicio Ubuntu y el error ha desaparecido.

Nota: para volver a habilitar la suspensión o hibernación de win, habría que ejecutar el mismo comando con el parámetro a ON ( powercfg /H ON )

Y voila 🙂

Share

Reset WordPress password via shell

ref: https://codex.wordpress.org/Resetting_Your_Password

Captura de pantalla de 2015-07-04 12:05:58

1.- Acceder a una terminal o consola donde alojes tu WordPress, usualmente vía ssh

$ ssh usuario@Ip_o_dominio

2.- Cambia al directorio donde tengas WordPress

$ cd midominio.com/blog

3.- Lista los usuarios

$ wp user list

4.- Resetea la password del usuario que desees (Id)

wp user update 1 –user_pass=Clave

Y voila 🙂

Share

PowerShell Script: Monitorización de CPU y RAM y envío de alerta por email

Este script en powerShell, monitoriza en un bucle (interrumpible con ctrl+c) el % de utilización de la CPU y de la RAM. Con un delay (retardo) entre cada ciclo definido en la variable $tiempoEntreMonitorizacion = 60 (segundos).

En caso de que el % CPU o RAM sea mayor que los límites que fijemos en las variables:

$limitecpu = 50;
$limiteram = 75;

Se enviará una alerta por email (en este caso aplicado a gmail), usando autentificación (credenciales) en el servidor smtp.gmail.com

PowerShell_Mon_cpu-1

El código:

###################################################
# PowerShell Script MonCPU_RAM_alert_byEmail.ps1  #
# monitorización % cpu y % ram y alerta por email #
# By Javier Castañón - http://javcasta.com/ 2.014 #
###################################################
#$ErrorActionPreference = "SilentlyContinue";
$limitecpu = 90;
$limiteram = 75;
$tiempoEntreMonitorizacion = 60; # segundos
# datos email
$from = "javier@javcasta.com";
$to = "fj.castanon@gmail.com";
#$tema = "Alerta CPU  RAM";
$servidorSMTP = "smtp.gmail.com";
#### 
$micredencial = Read-Host "Clave para enviar via smtp.gmail.com =" -AsSecureString;
$mycreds = New-Object System.Management.Automation.PSCredential $from, $micredencial;
# Bucle - interrumpir con ctrl+C
while ($true) {
$cuerpo = "";
#########
# % CPU #
#########
$fecha = Get-Date | Out-String;
#Version ingles $info = get-counter -Counter "\Processor(_Total)\% Processor Time";
$infoCPU = get-counter -Counter "\procesador(_total)\% de tiempo de procesador";
$infoCPUcadena = $infoCPU  | out-string;
$infoCPUnumero = $infoCPU.CounterSamples[0].CookedValue;
Write-Host -ForegroundColor Yellow "% de CPU = " $infoCPUnumero -nonewline;
echo .;
$cuerpo = $fecha + "`n" + "% CPU = $infoCPUnumero" + "`n";
#########
# % RAM #
#########
$infoRAM = gwmi -Class win32_operatingsystem | Select-Object @{Name = "MemoryUsage"; Expression = {“{0:N2}” -f ((($_.TotalVisibleMemorySize - $_.FreePhysicalMemory)*100)/ $_.TotalVisibleMemorySize) }};
$infoRAMcadena = $infoRAM | out-string;
$infoRAMnumero = "$($InfoRAM.MemoryUsage)%";
Write-Host -ForegroundColor White "% de Uso de memoria RAM = " $infoRAMnumero -nonewline;
echo .;
$cuerpo = $cuerpo + "% RAM usuada = $infoRAMnumero";
##########
# Alerta #
##########
#Write-Host "Enviamos mail de: $from a $to con tema $tema, cuerpo $cuerpo y servidor $servidorSMTP";
if (($infoCPUnumero -ge $limitecpu) -or ($infoRAMnumero -ge $limiteram)) {
    #enviamos alerta x email
    
    try {
        Write-Host -ForegroundColor Green "Enviamos mail de alerta: $from a $to con tema $tema, y servidor $servidorSMTP";
        $tema = "Alerta CPU $infoCPUnumero  ,RAM $infoRAMnumero";
        send-mailmessage -from "$from" -to "$to" -subject "$tema" -body "$cuerpo" -Port 587 -UseSsl -Credential $mycreds -smtpserver "$servidorSMTP";
        Write-Host -ForegroundColor Red "alerta:   $cuerpo";
        echo .;
        $cuerpo = "";
        }
    catch {
        $ErrorMessage = $_.Exception.Message;
        $FailedItem = $_.Exception.ItemName;
        Write-Host $ErrorMessage;
        Write-Host $FailedItem;
    }
    
}

# delay
Start-Sleep -Seconds $tiempoEntreMonitorizacion;
}
# FIN Bucle - se corta con ctrl+C

Y voila 🙂

Share

Importar GPG Key desde consola en Ubuntu

Referencia: http://www.debuntu.org/how-to-importexport-gpg-key-pair/

ImportGPGkeyUbuntu-1

Un apunte rápido, del procedimiento del link de referencia para importar una GPG Key

Desde una consola, como root, para importar una GPG Key de un fichero ( directhex.ppa.asc ):

gpg –import directhex.ppa.asc

gpg –allow-secret-key-import –import directhex.ppa.asc

Listamos las llaves

gpg –list-keys

 

Y voila 🙂

Share

Modificar plantilla de Zen Cart

ZenCart-plantilla-1 

Desde una shell del servidor de hosting donde tengo una instalación de Zen Cart, decidí cambiar la plantilla (colores, estilos, css, …). Esto es lo que hice:

  • * Ir al directorio de /Dir_ZenCart/includes/templates

cd /Dir_ZenCart/includes/templates

  • * Bajarme la plantilla desde una web en formato zip

wget http://www.imakewebsites.ca/downloads/free-red.zip

  • * Descomprimir

unzip free-red.zip

  • * Ir al panel de administración de Herramientas > Selección de plantilla, y editar y elegir la plantilla nueva

ZenCart-plantilla-2

Y voila 🙂

Share

Conexión y consulta a MySQL con PowerShell

Referencias:

PSmysql-1 

Una vez tengas instalado el conector de .Net para MySQL,(ver links de referencia) hacer una query (consulta) a una base de datos MySQL desde PowerShell es bastante sencillo.

He aquí un script en PowerShell para ejecutar consultas a una base de datos, solo debes cambiar los parámetros:

$MySQLAdminUserName = ‘root_U_OTRO_USUARIO’
$MySQLAdminPassword = TUPASSWORD’
$MySQLDatabase = ‘BASE_DE_DATOS’
$MySQLHost = ‘EL_HOST_DE_MYSQL’

y en la cadena de conexión, puede que debas cambiar el puerto 3306 al que te haga falta.

El código:

Param(
  [Parameter(
  Mandatory = $true,
  ParameterSetName = '',
  ValueFromPipeline = $true)]
  [string]$Query
  )

$MySQLAdminUserName = 'root'
$MySQLAdminPassword = 'la_clave'
$MySQLDatabase = 'el_nombre_de_la_base_de_datos'
$MySQLHost = 'localhost_o_el_host_de_mysql'
$ConnectionString = "server=" + $MySQLHost + ";port=3306;uid=" + $MySQLAdminUserName + ";pwd=" + $MySQLAdminPassword + ";database="+$MySQLDatabase

Try {
 
  [void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data");
  $Connection = New-Object MySql.Data.MySqlClient.MySqlConnection;
  $Connection.ConnectionString = $ConnectionString;
  $Connection.Open();
  

  $Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection);
  $DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command);
  $DataSet = New-Object System.Data.DataSet;
  $RecordCount = $dataAdapter.Fill($dataSet, "data");
  $DataSet.Tables[0]
  }

Catch {
  Write-Host "ERROR : Unable to run query : $query `n$Error[0]";
 }

Finally {
  $Connection.Close()
  }

Y voila 🙂

Share

Older Entries »