Archive for the ‘Scripting’ Category

mp3 a ringtone

Sunday, May 5th, 2019

Les dejo esta forma súper fácil de pasar de mp3 a ringtone con ffmpeg. Espero les sirva.
ffmpeg -i file.mp3 -ac 1 -ab 128000 -f mp4 -acodec libfdk_aac -y ringtone.m4a

Saludos

Comparar dos directorios

Wednesday, April 3rd, 2019

Acá les dejo un script que hice en bash para comprar dos directorios, nada del otro mundo pero muy útil. Usa md5sum, no sé, espero les sirva.

#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
dir1=$1
dir2=$2
cd $dir1
find ./  -type f -exec md5sum {} \; > /mnt/virtual5/dir1
cd $dir2
find ./  -type f -exec md5sum {} \; > /mnt/virtual5/dir2
echo "archivos que estan en $dir1 y no en $dir2"
for i in $(cat /mnt/virtual5/dir1 | awk '{print $1}'); do  
    if ! grep -lq $i /mnt/virtual5/dir2; then 
        archivo=$(cat /mnt/virtual5/dir1 | grep $i |cut -c36-);
	archpath="$dir1/$archivo"
	stat -c "%y %n" $"$archpath";
    fi; 
done;

echo "archivos que estan en $dir2 y no en $dir1"
for i in $(cat /mnt/virtual5/dir2 | awk '{print $1}'); do  
    if ! grep -lq $i /mnt/virtual5/dir1; then 
        archivo=$(cat /mnt/virtual5/dir2 | grep $i |cut -c36-);
	archpath="$dir2/$archivo"
	stat -c "%y %n" $"$archpath";
    fi; 
done;

IFS=$SAVEIFS

espacios en el for de bash

Tuesday, December 20th, 2016

Esto es algo que me pasó millones de veces y al fin le encontré la solución definitiva.

 

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for f in *
do
  echo "$f"
done
IFS=$SAVEIFS

Espero les sirva, ojo que se viene un súper post de recuperación de datos en postgres. Un locura.

túnel reverso con netcat

Thursday, November 26th, 2015

Bueno, todo muy lindo con el ssh, pero… que pasa si lo que queremos es hacer lo mismo con un apache (u otro puerto) que corre, por ejemplo, en el puerto 80… pues bueno, también se puede de la mano de netcat.. la victorinox de intrnet.
(more…)

Redireccionar puertos

Friday, August 29th, 2014

Buenas gente, acá les dejo un mini script para redireccionar puertos a otra ip. Para que funcione primero tiene que hacer:
sysctl net.ipv4.ip_forward=1
Acá va el script:

#!/bin/bash
[ $# -eq 0 ] && { echo "Usage: $0 puertoPrincipal puertoSecundario IP"; exit 1; }
iptables -t nat -A PREROUTING -p tcp --dport $1 -j DNAT --to-destination $3:$1
iptables -A FORWARD -p tcp -d $3 --dport $1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport $1 -j DNAT --to-destination $3:$1
iptables -A FORWARD -p udp -d $3 --dport $1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport $2 -j DNAT --to-destination $3:$2
iptables -A FORWARD -p udp -d $3 --dport $2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
exit 0

Reducir tamaño de mp4

Wednesday, April 10th, 2013

Hola gente linda, acá les dejo un comandito que usé para reducir el tamaño de unos archivos mp4, espero les sirva saludos.

for i in $(ls -1 ../Batch1/* | cut -d “/” -f 3); do
ffmpeg -i ../Batch1/$i -s 352×272 -ab 128k -strict -2 $i;
done;

Mail alerts con pushOver

Wednesday, January 16th, 2013

Bueno una empresa me pidió que le haga un sistema para recibir notificaciones si el servidor de correo cae. Lo que se le puede ocurrir a todo el mundo es usar un telnet y monitorear el servicio, pero cosa de descartar problema de DNS, espacio en disco y demás cosas hice un daemon un poco más complejo.
La idea es:
+ Enviar un correo y revisar si lo recibimos desde otro servidor al nuestro.
+ Luego al revés, o sea, enviar un correo desde nuestro servidor al servidor de control a ver si llega.
Si en ambos casos llegar, todo perfecto, si no envía notificaciones push a una lista de iphones. Más sencillo imposible, y más útil tampoco :P.

(more…)

Comparar directorios recursivamente

Wednesday, August 24th, 2011

Hola gente hoy quise hacer esto, y como un pavo busqué en google. Y me sorprendí de estas cosas que tiene linux que hace fácil todo.

Se los dejo acá.

diff –brief -r dirA dirB

Por si hay otro pavo como yo buscando lo mismo en cristiano.

Saludos.

MN

Postgres función para separar en meses en columnas

Wednesday, August 10th, 2011

Bueno, necesitaba hacer un reporte para el SENASA en el que en cada columna haya un mes. Onda enero, febrero, etc. Entonces hice una pequeña función que me ayudará a hacerlo, es muestro como.

(more…)

Quitar espacios del nombre de los archivos

Wednesday, August 10th, 2011

Bueno gente, esto no tiene mucho más de lo que dice el título. Es más lo dejo acá para no olvidarmelo nomás.

ls | while read -r FILE; do mv -v “$FILE” `echo $FILE | tr ‘ ‘ ‘_’ `; done;

Lo saqué de acá: https://bbs.archlinux.org/viewtopic.php?id=36305

Muy piola.

MN