lunes, 15 de abril de 2013

Backup de mysql cuando no se tiene el password

¿Olvidaste o perdiste la contraseña del usuario 'root' de MySQL?, no hay problema, solo sigue estás sencillas instrucciones y podrás establecer una nueva. Claro siempre y cuando tengas acceso al usuario 'root' de Linux.

Detener el servidor
#> /etc/rc.d/init.d/mysqld stop

Iniciar en modo FULL o abierto
#> mysqld_safe --skip-grant-tables --skip-networking&
esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.

Iniciar el monitor
#>mysql -u root
Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.

En este momento ya podemos manipular cualquier base de datos que esté en nuestro servidor con todos los privilegios.



Respaldar las bases de datos:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| jaws_holafen       | 
| jaws_p108584       | 
| mysql              | 
| mysql_eo           | 
| mysql_ru           | 
| redesuni           | 
| test               | 
| webfcq             | 
| webfcq2            | 
| webfd              | 
+--------------------+ 
 
 
RESPALDAR: Ya que podemos ver los nombres de las bases de datos podemos empezar a respaldar cada base de datos:


mysqldump basededados > /home/usuario/backup.sql

 
O respaldar todas las bases de datos juntas:

mysqldump -A /home/usuario/backup_all.sql


la condición -A (“-all-databases”) selecciona todas las bases de datos existentes en el servidor.

Si nuestro caso , aparte de respaldar la base de datos es seguir usando el servidor, es necesario contar con la contraseña de root para mysql,  como en este caso no la sabemos , la podemos cambiar de esta manera:

CAMBIAR LA CONTRASEÑA DE ROOT MYSQL

Usamos la base de datos del sistema mysql
mysql> use mysql;

Actualizamos el campo que cambiará la contraseña de 'root'
mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> exit
#>

Reiniciar el servidor y listo!!!
#> service mysqld restart

La siguiente vez que entrés al monitor () usa la nueva clave o contraseña.

miércoles, 3 de abril de 2013

Comando grep en linux

El comando grep nos permite buscar, dentro de los archivos, las líneas que concuerdan con un patrón. Bueno, si no especificamos ningún nombre de archivo, tomará la entrada estándar, con lo que podemos encadenarlo con otros filtros.

Por defecto, grep imprime las líneas encontradas en la salida estándar. Es decir, que podemos verlo directamente la pantalla, o redireccionar la salida estándar a un archivo.

Como tiene muchísimas opciones, vamos a ver tan sólo las más usadas:

-c En lugar de imprimir las líneas que coinciden, muestra el número de líneas que coinciden.
-e PATRON nos permite especificar varios patrones de búsqueda o proteger aquellos patrones de búsqueda que comienzan con el signo -.
-r busca recursivamente dentro de todos los subdirectorios del directorio actual.
-v nos muestra las líneas que no coinciden con el patrón buscado.
-i ignora la distinción entre mayúsculas y minúsculas.
-n Numera las líneas en la salida.
-E nos permite usar expresiones regulares. Equivalente a usar egrep.
-o le indica a grep que nos muestre sólo la parte de la línea que coincide con el patrón.
-f ARCHIVO extrae los patrones del archivo que especifiquemos. Los patrones del archivo deben ir uno por línea.
-H nos imprime el nombre del archivo con cada coincidencia.

Veamos algunos ejemplos:

- Buscar todas las líneas que contengan palabras que comiencen por a en un archivo:
$ grep '\' archivo

Otra forma de buscar, sería:
$ cat archivo | grep "\"

- Mostrar por pantalla, las líneas que contienen comentarios en el archivo /boot/grub/menu.lst:
$ grep "#" /boot/grub/menu.lst

- Enviar a un fichero las líneas del archivo /boot/grub/menu.lst que no son comentarios:
$ grep -v "#" /boot/grub/menu.lst

- Contar el número de interfaces de red que tenemos definidos en el fichero /etc/network/interfaces:
$ grep -c "iface" /etc/network/interfaces

- Mostrar las líneas de un fichero que contienen la palabra BADAJOZ o HUELVA:
$ grep -e "BADAJOZ" -e "HUELVA" archivo

- Mostrar las líneas de un fichero que contienen la palabra BADAJOZ o HUELVA, numerando las líneas de salida:
$ grep -n -e "BADAJOZ" -e "HUELVA" archivo

- Mostrar los ficheros que contienen la palabra TOLEDO en el directorio actual y todos sus subdirectorios:
$ grep -r "TOLEDO" *

Veamos algunos ejemplos con expresiones regulares:

- Obtener la dirección MAC de la interfaz de red eth0 de nuestra máquina:
$ ifconfig eth0 | grep -oiE '([0-9A-F]{2}:){5}[0-9A-F]{2}'

Sacamos la dirección MAC de la interfaz eth0 de nuestra máquina haciendo un:
ifconfig eth0

Y aplicando el filtro grep:
grep -oiE '([0-9A-F]{2}:){5}[0-9A-F]{2}'

Las opciones que he usado en grep son:

-o
Indica que la salida del comando debe contener sólo el texto que coincide con el patrón, en lugar de toda la línea, como es lo habitual.
-i Lo he usado para que ignore la distinción entre mayúsculas y minúsculas.
-E Indica que vamos a usar una expresión regular extendida.

En cuanto a la expresión regular, podemos dividirla en dos partes:
([0-9A-F]{2}:){5} Buscamos 5 conjuntos de 2 carateres seguidos de dos puntos
[0-9A-F]{2} seguido por un conjunto de dos caracteres.

Como las direcciones MAC se representan en hexadecimal, los caracteres que buscamos son los números del 0 al 9 y las letras desde la A a la F.

- Extraer la lista de direcciones de correo electrónico de un archivo:
grep -Eio '[a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}' fichero.txt

Utilizo las mismas opciones que en el caso anterior:

-o Indica que la salida del comando debe contener sólo el texto que coincide con el patrón, en lugar de toda la línea, como es lo habitual.
-i Lo he usado para que ignore la distinción entre mayúsculas y minúsculas.
-E Indica que vamos a usar una expresión regular extendida.

Analicemos ahora la expresión regular:
[a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}

Al igual que antes, la vamos dividiendo en partes:
[a-z0-9._-]+ Una combinación de letras, números, y/o los símbolos . _ y - de uno o más caracteres
@ seguido de una arroba
[a-z0-9.-]+ seguido de una cadena de letras, números y/o los símbolos . y -
[a-z]{2,4} seguido de una cadena de entre dos y cuatro caracteres.

- Obtener la dirección IP de la interfaz de red eth1 de nuestra máquina:
$ ifconfig eth1 | grep -oiE '([0-9]{1,3}\.){3}[0-9]{1,3}' | grep -v 255

En el ejemplo anterior, hemos tomado la información que nos ofrece ifconfig:
ifconfig eth1

Hemos filtrado dicha información con el comando grep, obteniendo todas las direcciones IP que aparecen:
grep -oiE '([0-9]{1,3}\.){3}[0-9]{1,3}'

Por último, hemos filtrado la salida del comando anterior, para eliminar la dirección de broadcast junto con la máscara de red para quedarnos sólo con la dirección IP de la máquina:
grep -v 255

La línea anterior no mostraría las líneas que no contengan el valor 255, es decir, las direcciones de broadcast y máscara de red.

Analicemos ahora el comando grep:
grep -oiE '([0-9]{1,3}\.){3}[0-9]{1,3}'

Al igual que en los otros dos ejemplos de expresiones regulares uso las opciones -oiE en el comando grep:

-o Indica que la salida del comando debe contener sólo el texto que coincide con el patrón, en lugar de toda la línea, como es lo habitual.
-i Lo he usado para que ignore la distinción entre mayúsculas y minúsculas.
-E Indica que vamos a usar una expresión regular extendida.

En cuanto a la expresión regular:
'([0-9]{1,3}\.){3}[0-9]{1,3}'
([0-9]{1,3}\.){3} Representa 3 bloques de entre uno y tres dígitos separados por puntos.
Observemos que como el punto es un metacaracter, tengo que usar el caracter de escape \ para que no sea interpretado como un metacaracter, sino como un caracter normal.
[0-9]{1,3} Representa el último bloque de la dirección IP, que está formado por un número de entre 1 y 3 dígitos.


FUENTE:  http://enavas.blogspot.mx/2008/04/el-shell-de-linux-comando-grep.html

viernes, 22 de febrero de 2013

Convertir de de PosgreSQL a MySQL con pg2mysql

Les paso un buen dato para convertir bases de datos que están en PostgreSQL a MySQL de manera simple:

es por medio de pg2mysql  , una aplicación online para convertir de manera gratuita tus scripts SQL,

pg2mysql lo pueden encontrar en la siguiente dirección: http://www.lightbox.ca/pg2mysql.php

y pues les dejo algunos datos también por si hace la importación de sus bases de datos a mano:


Crear base de datos vacía para luego importar las tablas del script:
mysql> create database mibasededatos;


Importar el script :
usuario@mipc$ mysql -u usuario -p -h localhost mibasededatos < script.sql 


Espero les sea de utilidad.




lunes, 7 de enero de 2013

Agilizar login SSH en algunas distros

En algunas distros por "default" existen algunas configuraciones en nuestro sistema que no usamos, y estas solo alentan los procesos que cotidianamente hacemos.

para ver que es lo que hace el ssh cuando tarda casi un minuto "pensando" tratándose de conectar, podemos conectarnos usando el modo verbose  "-v"  esto nos muestra realmente que está haciendo en cada momento y de ahí podemos determinar que eslo que está alentando el login a nuestros servidores.

villatux@sitco:~$ ssh -v root@midominio.com.mx
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to midominio.com.mx [189.220.182.XXX] port 22.
debug1: Connection established.
debug1: identity file /home/villatux/.ssh/id_rsa type -1
debug1: identity file /home/villatux/.ssh/id_rsa-cert type -1
debug1: identity file /home/villatux/.ssh/id_dsa type -1
debug1: identity file /home/villatux/.ssh/id_dsa-cert type -1
debug1: identity file /home/villatux/.ssh/id_ecdsa type -1
debug1: identity file /home/villatux/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024 br="br" sent="sent">debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 0b:3f:d4:5a:38:ce:90:9b:4c:3e:aa:e1:b5:fe:21:70
debug1: Host 'villatux.com.mx' is known and matches the RSA host key.
debug1: Found key in /home/villatux/.ssh/known_hosts:36
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Next authentication method: publickey
debug1: Trying private key: /home/villatux/.ssh/id_rsa
debug1: Trying private key: /home/villatux/.ssh/id_dsa
debug1: Trying private key: /home/villatux/.ssh/id_ecdsa
debug1: Next authentication method: password
root@midominio.com.mx's password:


En la salida anterior vemos que esta tratando de conectarse con autenticación kerberos:

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found


Si no tenemos un servidor kerberos disponible va a hacer el maximo de intentos para lograr la conexión ,  y como no tenemos un servidor kerberos, pues solo desabilitamos esa opción en nuestro  /etc/ssh/ssh_config de esta manera:

Donde dice:
GSSAPIAuthentication yes
Lo cambié por:
GSSAPIAuthentication no

Y ahora el ssh se conecta inmediatamente, como siempre debió haber sido.


jueves, 20 de diciembre de 2012

Códigos de configuración SPA2102 y similares

Estos son los códigos de configuraciones de los Adaptadores telefónicos , se los pasó para aquellos que configuran, sistemas telefónicos con Asterisk,


ACTION
DIGITS
CHOICES
DESCRIPTION
Enter Interactive Voice
Response Menu

****


Use this command to enter the Interactive
Voice Response Menu. Do not press any
other keys until you hear, “Linksys
 configuration menu. Please enter the option
followed by the # (pound) key or hang up to
exit.”
Check Internet
Connection Type
100

Hear the Internet connection type of the
Phone Adapter.
Check Internet IP
Address
110


Hear the IP address assigned to the Phone
Adapter’s Internet (external) interface.
Check Network Mask
(or Subnet Mask)
120


Hear the network or subnet mask assigned to
the Phone Adapter.
Check Gateway IP
Address
130


Hear the IP address of the Phone Adapter
(usually the network router).
Check MAC Address
140

Hear the MAC address of the Phone Adapter
in hexadecimal string format.
Check Firmware
Version
150


Hear the version number of the firmware
currently running on the Phone Adapter.
Check Primary DNS
Server IP Address
160


Hear the IP address of the primary DNS
(Domain Name Service) server.
Check Internet Web
Server Port
170


Hear the port number of the Internet Web
server used for the Web-based Utility.
Check Local IP
Address
210


Hear the local IP address of the Phone
Adapter.
Set Internet
Connection Type
101

Press 0 to use DHCP.
Press 1 to use a static IP
address.
Press 2 to use PPPoE.
Select the type of Internet connection you are
using. Refer to the documentation supplied
by your Internet Service Provider (ISP).
Set Static IP Address
111

Enter the IP address using
numbers on the telephone
keypad. Use the * (star)
key when entering a
decimal point.
First, set the Internet Connection Type to
static IP address; otherwise, you will hear,
“Invalid Option,” if you try to set the static IP
address.
Set Network (or
Subnet) Mask
121

Enter the network or
subnet mask using
numbers on the telephone
keypad. Use the * (star)
key when entering a
decimal point.
First, set the Internet Connection Type to
static IP address; otherwise, you will hear,
“Invalid Option,” if you try to set the network or subnet mask.
Set Gateway IP
Address
131

Enter the IP address using
numbers on the telephone
keypad. Use the * (star)
key when entering a
decimal point.
First, set the Internet Connection Type to
static IP address; otherwise, you will hear,
“Invalid Option,” if you try to set the gateway   IP address.
Set Primary DNS
Server IP Address
161

Enter the IP address using
numbers on the telephone
keypad. Use the * (star)
key when entering a
decimal point.
First, set the Internet Connection Type to
static IP address; otherwise, you will hear,
“Invalid Option,” if you try to set the IP
   address of the primary DNS server.
Set the Mode
201

Press 0 to select the
router/NAT mode.
Press 1 to select the
bridge/switch mode.

f the Phone Adapter acts as the router for
your network, use the router/NAT mode.

If your network already has a router, use the
bridge/switch mode.
Enable/Disable WAN
Access to the
Web-based Utility
7932

Press 1 to enable.
Press 0 to disable.

Use this setting to enable or disable WAN
access to the Web-based Utility. (This Utility
lets you configure the Phone Adapter.)
Manual Reboot
732668


After you hear, “Option successful,” hang up the phone. The Phone Adapter will
automatically reboot.
Factory Reset
73738

Press 1 to confirm.
Press * (star) to cancel.

If necessary, enter the password. The Phone
Adapter will request confirmation; enter 1 to
confirm. You will hear, “Option successful.”
Hang up the phone. The Phone Adapter will
reboot, and all settings will be reset to their
factory default settings.
User Factory Reset
877778

Press 1 to confirm.
Press * (star) to cancel.

The Phone Adapter will request confirmation; enter 1 to confirm. You will hear, “Option successful.” Hang up the phone. The Phone  Adapter will reboot and all user-configurable settings will be reset to their factory default settings.

Entering a Password

You may be prompted to enter a password when you want to reset the Phone Adapter to its factory default settings. To enter the password, use the phone’s keypad, and follow the appropriate instructions.

• To enter A, B, C, a, b, or c — press 2.
• To enter D, E, F, d, e, or f — press 3.
• To enter G, H, I, g, h, or i — press 4.
• To enter J, K, L, j, k, or l — press 5.
• To enter M, N, O, m, n, or o — press 6.
• To enter P, Q, R, S, o, q, r, or s — press 7.
• To enter T, U, V, t, u, or v — press 8.
• To enter W, X, Y, Z, w, x, y, or z — press 9.
• To enter all other characters, press 0.


Espero les sea de utilidad..