Cajón desastre para administradores de redes y sistemas informáticos. Este blog es para encontrar aquellas cosas que haces una vez y luego te cuesta repetirlas.
martes, 15 de noviembre de 2011
IPtables en Red Hat
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables
martes, 4 de octubre de 2011
Sincronizar la hora en un windows Vista o posterior
Al ejecutar estos comandos sincronizamos la hora de un windows vista, 7, 2008, etc con el servidor horario (NTP) de "La Armada Española" que es la hora oficial de España
net time /setsntp:"hora.roa.es"
w32tm /query /peers
net stop w32time
net start w32time
w32tm /resync
w32tm /query /peers
w32tm /query /peers
net stop w32time
net start w32time
w32tm /resync
w32tm /query /peers
martes, 16 de agosto de 2011
Crear todos los usuarios de un Active Directory mediante script VBS
La idea es crear todos los usuarios del dominio de manera automatizada.
para ello utilizamos 2 scripts un .bat y un .vbs. El .bat se encarga de llamar al vbs para crear los usuarios.
El script "crea_usuario.vbs" al cual se le pasan los parametros contenedor, nombre de usuario, contraseña y script de logon.
Ej de uso: csript crear_usuario.vbs "OU=directivos,OU=empresa01" directivo01 clavedirectivo01 scriptlogon_directivo01.bat
strContainer = WScript.Arguments.Unnamed(0)
strName = WScript.Arguments.Unnamed(1)
strPasswd = WScript.Arguments.Unnamed(2)
strLogonScript= WScript.Arguments.Unnamed(3)
'***********************************************
'* Connect to a container *
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE")
If strContainer = "" Then
Set objContainer = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext"))
Else
Set objContainer = GetObject("LDAP://" & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
'***********************************************
'* End connect to a container *
'***********************************************
Set objUser = objContainer.Create("user", "cn=" & strName)
objUser.Put "sAMAccountName", strName
objUser.SetInfo
Set objUser = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
objUser.SetPassword(strPassword)
objUser.scriptPath = strLogonScript
objUser.SetInfo
WScript.Quit
El script .bat lo llamaremos crear_usuarios_midominioNT.bat y se encarga de crear cada usuario llamando al script .vbs
@echo off
color 0a
cls
cscript crear_usuario.vbs "OU=directivos,OU=empresa01" directivo01 Cl@v3212011 directivos.bat
cscript crear_usuario.vbs "OU=empleados,OU=empresa01" empleado01 Cl@v3212011 empleados.bat
cscript crear_usuario.vbs "OU=comerciales,OU=empresa01" comercial02 Cl@v3212011 comerciales.bat
pause
color 0a
cls
cscript crear_usuario.vbs "OU=directivos,OU=empresa01" directivo01 Cl@v3212011 directivos.bat
cscript crear_usuario.vbs "OU=empleados,OU=empresa01" empleado01 Cl@v3212011 empleados.bat
cscript crear_usuario.vbs "OU=comerciales,OU=empresa01" comercial02 Cl@v3212011 comerciales.bat
pause
Configurar windows server 2008 R2 para que se sincronice con un servidor NTP externo
echo Mostrar configuracion actual
w32tm /query /configuration
echo Parando el servicio horario
net stop w32time
echo Configurar servidor NTP externo con el que sincronizar
w32tm /config /syncfromflags:manual /manualpeerlist:"hora.roa.es"
w32tm /config /reliable:yes
echo Iniciando el servicio horario
net start w32time
echo Mostrar configuracion actual
w32tm /query /configuration
echo Comprobar la diferencia horaria
w32tm /monitor /computers:miservidorw2008server
w32tm /query /configuration
echo Parando el servicio horario
net stop w32time
echo Configurar servidor NTP externo con el que sincronizar
w32tm /config /syncfromflags:manual /manualpeerlist:"hora.roa.es"
w32tm /config /reliable:yes
echo Iniciando el servicio horario
net start w32time
echo Mostrar configuracion actual
w32tm /query /configuration
echo Comprobar la diferencia horaria
w32tm /monitor /computers:miservidorw2008server
domingo, 14 de agosto de 2011
Comandos básicos Zimbra CLI
Para ejecutar estos comandos debemos ser el usuario zimbra
su - zimbra
#Ver todas las cuentas de Administrador
zmprov gaaa
#Ver todas las cuentas
zmprov -l gaa
#Ver todas las cuentas de un dominio
DOMINIO=midominio1.com
zmprov gaa -v $DOMINIO
#Renombrar una cuenta
CUENTA=usuario1@midominio1.com
CUENTA_RENOMBRADA=otrousuario@midominio2.com
zmprov ra $CUENTA $CUENTA_RENOMBRADA
#Cambiar la contraseña
CUENTA=usuario1@midominio1.com
CLAVE_NUEVA=clave123
zmprov sp $CUENTA $CLAVENUEVA
#Crear lista de distribucionLISTA_DISTRIBUCION=lista1@midominio1.com
zmprov cdl $LISTA_DISTRIBUCION
#Añadir nuevo miembro a la lista de distribucion
LISTA_DISTRIBUCION=lista1@midominio1.com
MIEMBRO_NUEVO=usuario201delalista@otrodominio.com
zmprov adlm $LISTA_DISTRIBUCION $MIEMBRO_NUEVO
#Eliminar cuenta
CUENTA=usuario1@midominio1.com
zmprov da $CUENTA
su - zimbra
#Ver todas las cuentas de Administrador
zmprov gaaa
#Ver todas las cuentas
zmprov -l gaa
#Ver todas las cuentas de un dominio
DOMINIO=midominio1.com
zmprov gaa -v $DOMINIO
#Renombrar una cuenta
CUENTA=usuario1@midominio1.com
CUENTA_RENOMBRADA=otrousuario@midominio2.com
zmprov ra $CUENTA $CUENTA_RENOMBRADA
#Cambiar la contraseña
CUENTA=usuario1@midominio1.com
CLAVE_NUEVA=clave123
zmprov sp $CUENTA $CLAVENUEVA
#Crear lista de distribucionLISTA_DISTRIBUCION=lista1@midominio1.com
zmprov cdl $LISTA_DISTRIBUCION
#Añadir nuevo miembro a la lista de distribucion
LISTA_DISTRIBUCION=lista1@midominio1.com
MIEMBRO_NUEVO=usuario201delalista@otrodominio.com
zmprov adlm $LISTA_DISTRIBUCION $MIEMBRO_NUEVO
#Eliminar cuenta
CUENTA=usuario1@midominio1.com
zmprov da $CUENTA
martes, 5 de julio de 2011
Cómo cargar la configuración de fabrica en un switch Juniper EX2200
Hay que ejecutar los siguientes comandos desde la consola (puerto serie) o por SSH:
http://kb.juniper.net/InfoCenter/index?page=content&id=KB17126&cat=EX_SERIES&actp=LIST
lab@EX2200> start shell user root
Password:
root@EX2200% cd /config
root@EX2200% rm -rf juniper.conf*
root@EX2200% cd /config/db/config
root@EX2200% rm -rf juniper.conf.*
root@EX2200% reboot
Aquí te cuentan todas las posibilidades para pasar ha valores de fabricahttp://kb.juniper.net/InfoCenter/index?page=content&id=KB17126&cat=EX_SERIES&actp=LIST
Ubicación:
Paseo de Mikeletegi, San Sebastián, España
viernes, 29 de abril de 2011
Cómo configurar un servidor DNS para que responda una cosa a la lan y otra distinta a internet
Voy a pasaros las configuraciones que a mi me funcionan con BIND9 en Ubuntu 10.04 LTS.
Parto de un DNS master y un DNS slave.
Caso midominio.es:
En el caso de preguntar desde redes internas deben responder con IPs internas cuando preguntan por midominio.es, además estos 2 DNS deben realizar forward, es decir, deben resolver cualquier nombre dns (Ej: www.google.com).
En el caso de preguntar desde redes externas deben responder con IPs externas cuando preguntan por midominio.es y no responder nada para el resto de dominios (por seguridad, así nadie en internet utilizará nuestros DNS en su configuración de red).
Hay que configurar 3 archivos en cada servidor, están en /etc/bind:
named.conf (Este es igual en el master y en el esclavo)
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
//Comentamos este include por que ahora va a depender de cada view en /etc/bind/named.conf.local
//include "/etc/bind/named.conf.default-zones";
named.conf.options (DNS master)
acl "dns_slaves" {
192.168.3.102; # IPs de los servidores DNS esclavos
};
acl "lan_hosts" {
127.0.0.1; # allow loop back
192.168.1.0/24; # lan1
192.168.2.0/24; # lan2
192.168.3.0/24; # lan dns servers
192.168.4.0/24; # lan4
};
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8; #DNS publico 1 de google
8.8.4.4; #DNS publico 2 de google
192.168.2.127; #DNS interno Active directory lan2
192.168.1.127; #DNS interno Active directory lan1
192.168.4.127; #DNS interno Active directory lan4
};
listen-on { #IPs en las que este DNS escucha las peticiones
192.168.3.101;
127.0.0.1;
};
auth-nxdomain no; #RFC1035
allow-query { any; }; # permitir que cualquiera haga peticiones
allow-recursion { lan_hosts; }; # permitir recursion dns
allow-query-cache { lan_hosts; }; # permitir hacer uso del DNS cache para dominios no alojados en este DNS
recursion no; # Deshabilitar decursion DNS a nivel general
version "0"; # Ocultar la version de este software
};
named.conf.options (DNS esclavo) (lo único que cambia es listen-on)
acl "dns_slaves" {
192.168.3.102; # IPs de los servidores DNS esclavos
};
acl "lan_hosts" {
127.0.0.1; # allow loop back
192.168.1.0/24; # lan1
192.168.2.0/24; # lan2
192.168.3.0/24; # lan dns servers
192.168.4.0/24; # lan4
};
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8; #DNS publico 1 de google
8.8.4.4; #DNS publico 2 de google
192.168.2.127; #DNS interno Active directory lan2
192.168.1.127; #DNS interno Active directory lan1
192.168.4.127; #DNS interno Active directory lan4
};
listen-on { #IPs en las que este DNS escucha las peticiones
192.168.3.102;
127.0.0.1;
};
auth-nxdomain no; #RFC1035
allow-query { any; }; # permitir que cualquiera haga peticiones
allow-recursion { lan_hosts; }; # permitir recursion dns
allow-query-cache { lan_hosts; }; # permitir hacer uso del DNS cache para dominios no alojados en este DNS
recursion no; # Deshabilitar decursion DNS a nivel general
version "0"; # Ocultar la version de este software
};
named.conf.local (DNS master) Aquí es donde realmente son diferentes el master del esclavo
view "internal" {
match-clients { lan_hosts; }; # Esta vista es para los equipos de la acl lan_hosts
recursion yes; # Permitir consultas recursivas
notify no; # Deshabilitar notificaciones AA
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// Ser autorizado para zona localhost, forward y zonas inversas, y para
// zonas broadcast asi como para RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
//Configuracion de los dominios mantenidos en este DNS master (vista interna)
zone "midominio.es" {
type master;
file "/etc/bind/internal/db.midominio.es";
};
};
view "external" {
match-clients { any; }; # Esta vista es para el resto de equipos que no estén en la view internal
recursion no; # deshabilitar consultas DNS recursivas
allow-transfer { dns_slaves; }; #Permitr a los equipos de la acl "dns_slaves" transferecias de zona
//Configuracion de los dominios mantenidos en este DNS master (vista externa)
zone "midominio.es" {
type master;
file "/etc/bind/external/db.midominio.es";
};
};
named.conf.local (DNS esclavo) Aquí es donde realmente son diferentes el master del esclavo
view "internal" {
match-clients { lan_hosts; }; # Esta vista es para los equipos de la acl lan_hosts
recursion yes; # Permitir consultas recursivas
notify no; # Deshabilitar notificaciones AA
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// Ser autorizado para zona localhost, forward y zonas inversas, y para
// zonas broadcast asi como para RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
//Configuracion de los dominios para los que este servidor es esclavo
zone "midominio.es" {
type slave;
masters { 192.168.3.101; };
file "db-int.midominio.es";
};
};
view "external" {
match-clients { any; }; # Esta vista es para el resto de equipos que no estén en la view internal
recursion no; # deshabilitar consultas DNS recursivas
//Configuracion de los dominios para los que este servidor es esclavo
zone "midominio.es" {
type slave;
masters { 192.168.3.101; };
file "db-ext.midominio.es";
};
};
/etc/bind/internal/db.midominio.es
$TTL 604800
@ IN SOA midominio.es. dnsmaster.midominio.es. (
12345678 ; Serial
3600 ; Refresh
600 ; Retry
43200 ; Expire
60 ) ; Negative Cache TTL
;
@ IN NS dns1.midominio.es.
@ IN NS dns2.midominio.es.
@ IN MX 5 smtp1.midominio.es.
@ IN MX 10 smtp2.midominio.es.
@ IN TXT "v=spf1 +mx +ptr -all"
@ IN A 192.168.3.103
dns1 IN A 192.168.3.101
dns2 IN A 192.168.3.102
www IN A 192.168.3.103
ftp IN CNAME www.midominio.es.
smtp1 IN A 192.168.3.38
smtp2 IN A 192.168.3.38
Parto de un DNS master y un DNS slave.
Caso midominio.es:
En el caso de preguntar desde redes internas deben responder con IPs internas cuando preguntan por midominio.es, además estos 2 DNS deben realizar forward, es decir, deben resolver cualquier nombre dns (Ej: www.google.com).
En el caso de preguntar desde redes externas deben responder con IPs externas cuando preguntan por midominio.es y no responder nada para el resto de dominios (por seguridad, así nadie en internet utilizará nuestros DNS en su configuración de red).
Hay que configurar 3 archivos en cada servidor, están en /etc/bind:
named.conf (Este es igual en el master y en el esclavo)
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
//Comentamos este include por que ahora va a depender de cada view en /etc/bind/named.conf.local
//include "/etc/bind/named.conf.default-zones";
named.conf.options (DNS master)
acl "dns_slaves" {
192.168.3.102; # IPs de los servidores DNS esclavos
};
acl "lan_hosts" {
127.0.0.1; # allow loop back
192.168.1.0/24; # lan1
192.168.2.0/24; # lan2
192.168.3.0/24; # lan dns servers
192.168.4.0/24; # lan4
};
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8; #DNS publico 1 de google
8.8.4.4; #DNS publico 2 de google
192.168.2.127; #DNS interno Active directory lan2
192.168.1.127; #DNS interno Active directory lan1
192.168.4.127; #DNS interno Active directory lan4
};
listen-on { #IPs en las que este DNS escucha las peticiones
192.168.3.101;
127.0.0.1;
};
auth-nxdomain no; #RFC1035
allow-query { any; }; # permitir que cualquiera haga peticiones
allow-recursion { lan_hosts; }; # permitir recursion dns
allow-query-cache { lan_hosts; }; # permitir hacer uso del DNS cache para dominios no alojados en este DNS
recursion no; # Deshabilitar decursion DNS a nivel general
version "0"; # Ocultar la version de este software
};
named.conf.options (DNS esclavo) (lo único que cambia es listen-on)
acl "dns_slaves" {
192.168.3.102; # IPs de los servidores DNS esclavos
};
acl "lan_hosts" {
127.0.0.1; # allow loop back
192.168.1.0/24; # lan1
192.168.2.0/24; # lan2
192.168.3.0/24; # lan dns servers
192.168.4.0/24; # lan4
};
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8; #DNS publico 1 de google
8.8.4.4; #DNS publico 2 de google
192.168.2.127; #DNS interno Active directory lan2
192.168.1.127; #DNS interno Active directory lan1
192.168.4.127; #DNS interno Active directory lan4
};
listen-on { #IPs en las que este DNS escucha las peticiones
192.168.3.102;
127.0.0.1;
};
auth-nxdomain no; #RFC1035
allow-query { any; }; # permitir que cualquiera haga peticiones
allow-recursion { lan_hosts; }; # permitir recursion dns
allow-query-cache { lan_hosts; }; # permitir hacer uso del DNS cache para dominios no alojados en este DNS
recursion no; # Deshabilitar decursion DNS a nivel general
version "0"; # Ocultar la version de este software
};
named.conf.local (DNS master) Aquí es donde realmente son diferentes el master del esclavo
view "internal" {
match-clients { lan_hosts; }; # Esta vista es para los equipos de la acl lan_hosts
recursion yes; # Permitir consultas recursivas
notify no; # Deshabilitar notificaciones AA
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// Ser autorizado para zona localhost, forward y zonas inversas, y para
// zonas broadcast asi como para RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
//Configuracion de los dominios mantenidos en este DNS master (vista interna)
zone "midominio.es" {
type master;
file "/etc/bind/internal/db.midominio.es";
};
};
view "external" {
match-clients { any; }; # Esta vista es para el resto de equipos que no estén en la view internal
recursion no; # deshabilitar consultas DNS recursivas
allow-transfer { dns_slaves; }; #Permitr a los equipos de la acl "dns_slaves" transferecias de zona
//Configuracion de los dominios mantenidos en este DNS master (vista externa)
zone "midominio.es" {
type master;
file "/etc/bind/external/db.midominio.es";
};
};
named.conf.local (DNS esclavo) Aquí es donde realmente son diferentes el master del esclavo
view "internal" {
match-clients { lan_hosts; }; # Esta vista es para los equipos de la acl lan_hosts
recursion yes; # Permitir consultas recursivas
notify no; # Deshabilitar notificaciones AA
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// Ser autorizado para zona localhost, forward y zonas inversas, y para
// zonas broadcast asi como para RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
//Configuracion de los dominios para los que este servidor es esclavo
zone "midominio.es" {
type slave;
masters { 192.168.3.101; };
file "db-int.midominio.es";
};
};
view "external" {
match-clients { any; }; # Esta vista es para el resto de equipos que no estén en la view internal
recursion no; # deshabilitar consultas DNS recursivas
//Configuracion de los dominios para los que este servidor es esclavo
zone "midominio.es" {
type slave;
masters { 192.168.3.101; };
file "db-ext.midominio.es";
};
};
Editado posteriormente:
En el DNS master existirán dos archivos, que definen la zona midominio.es
/etc/bind/external/db.midominio.es
En el DNS master existirán dos archivos, que definen la zona midominio.es
/etc/bind/external/db.midominio.es
$TTL 604800
@ IN SOA midominio.es. dnsmaster.midominio.es. (
12345678 ; Serial
3600 ; Refresh
600 ; Retry
43200 ; Expire
60 ) ; Negative Cache TTL
;
@ IN NS dns1.midominio.es.
@ IN NS dns2.midominio.es.
@ IN MX 5 smtp1.midominio.es.
@ IN MX 10 smtp2.midominio.es.
@ IN TXT "v=spf1 +mx +ptr -all"
@ IN A 1.1.1.1
dns1 IN A 1.1.1.1
dns2 IN A 1.1.1.2
www IN A 1.1.1.1
ftp IN CNAME www.midominio.es.
smtp1 IN A 1.1.1.1
smtp2 IN A 1.1.1.2
@ IN SOA midominio.es. dnsmaster.midominio.es. (
12345678 ; Serial
3600 ; Refresh
600 ; Retry
43200 ; Expire
60 ) ; Negative Cache TTL
;
@ IN NS dns1.midominio.es.
@ IN NS dns2.midominio.es.
@ IN MX 5 smtp1.midominio.es.
@ IN MX 10 smtp2.midominio.es.
@ IN TXT "v=spf1 +mx +ptr -all"
@ IN A 1.1.1.1
dns1 IN A 1.1.1.1
dns2 IN A 1.1.1.2
www IN A 1.1.1.1
ftp IN CNAME www.midominio.es.
smtp1 IN A 1.1.1.1
smtp2 IN A 1.1.1.2
/etc/bind/internal/db.midominio.es
$TTL 604800
@ IN SOA midominio.es. dnsmaster.midominio.es. (
12345678 ; Serial
3600 ; Refresh
600 ; Retry
43200 ; Expire
60 ) ; Negative Cache TTL
;
@ IN NS dns1.midominio.es.
@ IN NS dns2.midominio.es.
@ IN MX 5 smtp1.midominio.es.
@ IN MX 10 smtp2.midominio.es.
@ IN TXT "v=spf1 +mx +ptr -all"
@ IN A 192.168.3.103
dns1 IN A 192.168.3.101
dns2 IN A 192.168.3.102
www IN A 192.168.3.103
ftp IN CNAME www.midominio.es.
smtp1 IN A 192.168.3.38
smtp2 IN A 192.168.3.38
miércoles, 9 de febrero de 2011
Script para realizar backup de nagios
#!/bin/bash
#
#Script de backup de nagios
#
#CONFIGURAR VARIABLES
FECHA=`date +%Y%m%d%H%M%S`
BACKUP_DIR=/root/backups
BACKUP_FILE=$BACKUP_DIR/$FECHA.backup-nagios.tar.gz
FILES_APACHE="/etc/cron.daily/apache2 /etc/apache2 /etc/logrotate.d/apache2 /etc/php5/apache2 /etc/default/apache2 /usr/sbin/apache2 /usr/lib/apache2 /usr/lib/apache2/mpm-prefork/apache2 /usr/lib/apache2/mpm-itk/apache2 /usr/lib/apache2/mpm-event/apache2 /usr/lib/apache2/mpm-worker/apache2 /usr/share/apache2 /usr/share/bug/apache2 /var/run/apache2 /var/lock/apache2 /var/lib/update-rc.d/apache2 /var/cache/apache2"
FILES_NAGIOS="/etc/nagios /etc/nagios3 /etc/nagios-plugins /usr/lib/nagios /usr/lib/nagios3 /usr/share/nagios /usr/share/nagios3 /usr/share/nagios-plugins /usr/share/nagios-snmp-plugins /var/run/nagios3 /var/lib/update-rc.d/nagios3 /var/lib/nagios3 /var/cache/nagios3 /var/lib/nagios"
FILES_NAGIOSQL="/etc/nagiosql /usr/share/lintian/overrides/nagiosql /usr/share/nagiosql /usr/share/doc/nagiosql"
FILES_NAGVIS="/etc/nagvis /usr/share/nagios3/htdocs/nagvis /usr/share/lintian/overrides/nagvis /usr/share/nagvis /usr/share/nagvis/htdocs/nagvis /var/lib/nagvis"
FILES_PNP4NAGIOS="/etc/pnp4nagios /usr/lib/pnp4nagios /usr/share/pnp4nagios /var/lib/pnp4nagios /var/lib/pnp4nagios /var/spool/pnp4nagios"
FILES_PHPMYADMIN="/etc/phpmyadmin /usr/share/phpmyadmin /usr/share/dbconfig-common/data/phpmyadmin /var/lib/phpmyadmin"
#Backup de archivos
tar cvfz $BACKUP_FILE $FILES_APACHE $FILES_NAGIOS $FILES_NAGIOSQL $FILES_NAGVIS $FILES_PNP4NAGIOS $FILES_PHPMYADMIN
#
#Script de backup de nagios
#
#CONFIGURAR VARIABLES
FECHA=`date +%Y%m%d%H%M%S`
BACKUP_DIR=/root/backups
BACKUP_FILE=$BACKUP_DIR/$FECHA.backup-nagios.tar.gz
FILES_APACHE="/etc/cron.daily/apache2 /etc/apache2 /etc/logrotate.d/apache2 /etc/php5/apache2 /etc/default/apache2 /usr/sbin/apache2 /usr/lib/apache2 /usr/lib/apache2/mpm-prefork/apache2 /usr/lib/apache2/mpm-itk/apache2 /usr/lib/apache2/mpm-event/apache2 /usr/lib/apache2/mpm-worker/apache2 /usr/share/apache2 /usr/share/bug/apache2 /var/run/apache2 /var/lock/apache2 /var/lib/update-rc.d/apache2 /var/cache/apache2"
FILES_NAGIOS="/etc/nagios /etc/nagios3 /etc/nagios-plugins /usr/lib/nagios /usr/lib/nagios3 /usr/share/nagios /usr/share/nagios3 /usr/share/nagios-plugins /usr/share/nagios-snmp-plugins /var/run/nagios3 /var/lib/update-rc.d/nagios3 /var/lib/nagios3 /var/cache/nagios3 /var/lib/nagios"
FILES_NAGIOSQL="/etc/nagiosql /usr/share/lintian/overrides/nagiosql /usr/share/nagiosql /usr/share/doc/nagiosql"
FILES_NAGVIS="/etc/nagvis /usr/share/nagios3/htdocs/nagvis /usr/share/lintian/overrides/nagvis /usr/share/nagvis /usr/share/nagvis/htdocs/nagvis /var/lib/nagvis"
FILES_PNP4NAGIOS="/etc/pnp4nagios /usr/lib/pnp4nagios /usr/share/pnp4nagios /var/lib/pnp4nagios /var/lib/pnp4nagios /var/spool/pnp4nagios"
FILES_PHPMYADMIN="/etc/phpmyadmin /usr/share/phpmyadmin /usr/share/dbconfig-common/data/phpmyadmin /var/lib/phpmyadmin"
#Backup de archivos
tar cvfz $BACKUP_FILE $FILES_APACHE $FILES_NAGIOS $FILES_NAGIOSQL $FILES_NAGVIS $FILES_PNP4NAGIOS $FILES_PHPMYADMIN
Recuperar contraseña del usuario root de MySQL
En ubuntu y debian es muy secillo resetear la contraseña del usuario root del servidor mysql
si somos el usuario root del sistema.
sudo /etc/init.d/mysql stop
sudo mysqld_safe --skip-grant-tables & sudo mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('nueva_contraseña') WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> \q
sudo killall mysqld;
sudo /etc/init.d/mysql start
extraido de (guia ubuntu)
Script backup bases de datos mysql
#script que guarda copia de todas la bases de datos
#!/bin/bash
## BEGIN CONFIG
##
FECHA=`date +%Y%m%d%H%M%S`HOST=localhost
USER=root
PASS=secretodeusuario
BACKUP_DIR=/root/backups
## END CONFIG ##
if [ ! -d $BACKUP_DIR ];
then
mkdir -p $BACKUP_DIR
fi
# Backup de MySQL
MYSQL_DBS=$(mysqlshow -h $HOST -u $USER -p$PASS | awk ' (NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /mysql/) { print $2 }');
for DB in $MYSQL_DBS ;
do
echo "* Backuping MySQL data from $DB@$HOST..."
mysqldump -h $HOST -u $USER -p$PASS $DB > $BACKUP_DIR/$FECHA.mysql_$DB.sql
done
ls -l $BACKUP_DIR
#!/bin/bash
## BEGIN CONFIG
##
FECHA=`date +%Y%m%d%H%M%S`HOST=localhost
USER=root
PASS=secretodeusuario
BACKUP_DIR=/root/backups
## END CONFIG ##
if [ ! -d $BACKUP_DIR ];
then
mkdir -p $BACKUP_DIR
fi
# Backup de MySQL
MYSQL_DBS=$(mysqlshow -h $HOST -u $USER -p$PASS | awk ' (NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /mysql/) { print $2 }');
for DB in $MYSQL_DBS ;
do
echo "* Backuping MySQL data from $DB@$HOST..."
mysqldump -h $HOST -u $USER -p$PASS $DB > $BACKUP_DIR/$FECHA.mysql_$DB.sql
done
ls -l $BACKUP_DIR
miércoles, 2 de febrero de 2011
Cómo instalar vmware-tools en ubuntu
Desde la aplicacion vmware player o vsphere pulsamos la instalación de vmware-tools, esto lo que hace es introducir un cd en la unidad virtual con el instalador de vmware-tools.
Hay que introducir posteriormente los siguientes comandos:
sudo apt-get update && apt-get upgrade
sudo mount /dev/cdrom /media/cdrom
cp /media/cdrom/VMware*.tar.gz /tmp
sudo umount /media/cdrom
cd /tmp
tar xzvf VMware*.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl
sudo mount /dev/cdrom /media/cdrom
cp /media/cdrom/VMware*.tar.gz /tmp
sudo umount /media/cdrom
cd /tmp
tar xzvf VMware*.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl
A partir de aqui en pulsar ENTER hasta que acabe y debería ir todo bien.
Esta información la saqué de aquí
En el caso en el que actualicemos el kernel y las vmware-tools dejen de funcionar debemos ejecutar el siguiente comando:
sudo vmware-config-tools.pl -d
sudo apt-get update && apt-get upgrade
sudo mount /dev/cdrom /cdrom
cp /cdrom/VMware*.tar.gz /tmp
sudo umount /cdrom
cd /tmp
tar xzvf VMware*.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl
viernes, 21 de enero de 2011
Cómo castellanizar Ubuntu desde terminal
aptitude install language-pack-es language-pack-es-base manpages-es manpages-es-extra language-selector language-support-es language-support-writing-es console-data
En caso de que el paquete console-data ya estuviese instalado ejecutamos lo siguiente. Este paquete reconfigura el teclado de los tty desde un terminal
dpkg-reconfigure console-data
Suscribirse a:
Entradas (Atom)