18/9/17

Forzar detención de un servicio de Windows.

En muchas ocasiones al detener o reiniciar un servicio de Windows queda atascado en estado "Deteniendo" / "Stopping".

Reiniciar el equipo soluciona el problema, pero si se trata de un servidor; reiniciarlo es muchas veces una comodidad que no podemos permitirnos. Por ello el siguiente método es de tremenda utilidad en la administración de servidores.

Lo primero que debemos hacer es identificar el nombre del servicio, fijándonos en las propiedades del mismo.



Abrimos una consola de comando con privilegios de administrador e introducimos el comando:

TaskKill /F /FI "SERVICES eq Nombre_del_Servicio"


Con esto el servicio habrá quedado detenido y podemos iniciarlo con normalidad.

15/9/17

Recuperar Access Point Ubiquiti con TFTP.

Los access Point de Ubiquiti se encuentran entre los mejores dispositivo para redes WiFi, he instalado decenas de estos equipos y puedo dar fé de su estabilidad y eficiencia; pero entre tantos de estos dispositivos que he instalado también me he topado con algunos que presentan mal funcionamiento; y un truco que suele revivirlos es subirles el firmware por TFTP.

Para realizar este proceso necesitamos:
descargar
  • Configurar la placa de red (ethernet) de una PC Windows con los parámetros:
  • IP: 192.168.1.30
  • Mascara: 255.255.255.0
  • Puerta de enlace: 192.168.1.20
  • Conectar el cable LAN del inyector PoE a la placa de la red de la PC cuya IP hemos configurado en el paso anterior.
  • Colocar el Access Point en modo TFTP, para ello:
    • Desconectamos el cable de red (poe) pulsamos el botón de reset con la ayuda de un clic o algo similar.
    • Aún manteniendo el botón de reset presionado, conectamos el cable de red (poe). Esperamos hasta que entre en modo upgrade (lo cual tarda aproximadamente 30segundos) y liberamos el botón.
      • Modo upgrade en modelos antiguos:
      • Modo upgrade en modelos nuevos:
  • Verificar si podemos hacerle ping a la IP 192.168.1.20; si es exitoso continuamos, y de no serlo repetimos el proceso anterior. 
  • Abrir pumpkin, hacer clic en "put file" seleccionar el firmware, como remote host indicar la IP del AP (192.168.1.20), y hacer clic en Ok.

Una vez finalice el proceso el AP se reiniciará y quedará en modo "adopción" con una luz naranja estable (o blanca según el modelo).

11/9/17

Papelera de reciclaje en Samba.

Para artículos sobre como configurar samba visita:
Esta tarea se logra gracias a los modulos vfs de samba, que generalmente ya vienen pre-instalados en el sistema, pero de no tenerlos, los instalamos con:

sudo apt-get install samba-vfs

Luego, tenemos dos métodos para habilitar la papelera, el primero sería incluir las lineas de configuración debajo del apartado [global] del smb.conf, lo cual habilitaría la papelera a todas las carpetas, y la segunda opción seria incluir las lineas de configuración solo a determinadas carpetas, sea cual se el caso la sintanxi sería:

vfs objects = recycle   #Habilita la papelera
recycle:repository = /Directorio_y_Nombre_de_Papelera
recycle:keeptree = Yes  #Mantiene la estructura de carpeta.
recycle:touch_mtime = Yes  #Cambia la fecha del archivo por la fecha de eliminación.
recycle:versions = Yes  #Mantiene copias de archivos con el mismo nombre.
recycle:exclude = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP  #Excluye un tipo de archivo.
recycle:noversions = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP #No guarda copias de los archivos especificados.

Como ven la papelera será una carpeta en una ubicacion especifica la cual debemos crear y asignarle permisos publicos de lectura y escritura (777).

Ejemplo en [global]

Ejemplo en un Share:


Luego de hecho los cambios reinicien el servicio de samba con:

sudo /etc/init.d/samba restart

9/9/17

Backup de Linux con Tar y Crontab.

En este articulo, mostraré como crear una tarea programada en crontab para respaldar un directorio o archivo, creando TarBall, es decir un archivo doblemente comprimido.

Creando un TarBall:


Formato del comando:

sudo tar -cvpzf /Destino_y_Nombre_del_TarBall.tar.gz /Directorio_a_Respaldar

Desglose del comando:
  • c = Crea Archivo (sobreescribe anterior)
  • v = Verbalizar (muestra un output)
  • p = Mantiene los permisos.
  • z = Comprime.
  • f = Asigna nombre al archivo.
Ejemplo: Haremos un respaldo de todo el directorio samba (/samba_share), lo llamaremos bkpsmb y lo guardaremos en la carpeta (/backups).

sudo tar -cvpzf /backups/bkpsmb.tar.gz /samba_share

Tip: Si deseas excluir un directorio puedes usar:
  • -exclude=DIRCECTORIO = Excluye un directorio y todo su contenido. 
Ejemplo:

sudo tar -cvpzf /backups/bkpsmb.tar.gz -exclude=/samba_share/musica /samba_share

Descomprimiendo un TarBall:

Formato:

sudo tar --xvpzf Directorio_y_Nombre_del_TarBall.tar.gz -C /Directorio_Destino

Desglose del comando:
  • x = Extrae el archivo.
  • v = Verbalizar (muestra un output)
  • p = Mantine los permisos.
  • z = Desomprime.
  • f = Indica el nombre del tarball. 
  • -C / = Indica el directorio en el cual se descomprimirá el archivo.
Ejemplo: Descomprimiré el archivo bkpsmb.tar.gz en el directorio /recuperado.

sudo tar -xvpzf  /backups/bkpsmb.tar.gz -C /recuperado

Creando una tarea programada Opcion 1:

Ejecutamos el comando:

sudo crontab -e

Nota: De ser la primera vez que se ejecuta el comando, te pedirá definir tu editor de texto.


Formato del comando:

m h dom mon dow command

Desglose del comando:
  • m = Minutos; Expresados de 0 a 59
  • h = Hora; Expresado de 0 a 24.
  • dom = Día del mes; Expresado de 1 a 31.
  • mon = Mes; Expresado de 1 a 12.
  • dow = Día de la Semana; Expresado de 0 (Domingo) a 6 (Sábado).
  • command = El comando a programar.
    • NOTA: Se puede usar el símbolo "*" para expresar "todos".
Ejemplo del comando: Para programar un respaldo, todos los días del mes a las 18:30.

30 18 * * * sudo tar -cpzf /backups/bkpsmb.tar.gz /samba_share

Nota: En este caso se puede excluir la orden "v"si no nos interesa que verbalice.

Para salir de nano y guardar los cambios, pulsamos "ctrl + x", luego "s" y finalmente "Enter"


Creando una tarea programada Opción 2:

En esta segunda opción crearemos un script que mantenga copias con la fecha del respaldo.

Para ello, ejecutamos el comando:

sudo nano /nombredelscript.sh Ejemplo: sudo nano /bkp_diario.sh

Y colocamos el siguiente contenido en el script:
#!/bin/bash
#Creado por: JManzur
echo "Iniciando Respaldo"
NOMBRE=Realizado_El_$(date +"%d-%m-%y").tar.gz #Nombre del archivo.
ORIGEN='/samba_share' #Directorio a Respaldar.
DESTINO='/backups' #Directorio destino del respaldo.
tar -cvpzf $DESTINO/$NOMBRE $ORIGEN
echo "Respaldo Finalizado con Exito"
#FIN


Tip: Si deseas incluir la hora, el formato sería: $(date +"%d-%m-%y-%H-%M") 

Para probar el comando ejecuten:

sudo /bin/bash /bkp_diario.sh

Ahora agregamos el script en el crontab

sudo crontab -e

Y para programar una tarea que ejecute el script diariamente a las 18:30, colocaríamos la linea:

30 18 * * * sudo /bin/bash /bkp_diario.sh