Para quién le sirva, os dejo este script en bash para reiniciar el rig minero cuando alguna o todas las GPU fallán o rinden menos megahashes (Mhs) de lo que deben… Espero que os sirva.
Lo podéis poner en un crontab para que se ejecute cada diez minutos y listo… Continuar leyendo «Script para reiniciar EthosDistro cuando cualquier GPU falla»
Actiona, Automatizador visual de tareas
Al más puro estilo de iMacros, Actiona es un programa libre, gratuito y de código abierto para Linux que permite automatizar tareas y mapear teclas y clicks del ratón. Con este programa es posible programar tareas desde cero utilizando su propio lenguaje de script, e incluso convertir esos scripts en archivos ejecutables, convirtiendo así a Actiona en una herramienta muy a tener en cuenta a la hora de crear programas de forma rápida y sencilla.
Para instalarlo en Ubuntu, basta con escribir lo siguiente en un terminal:
sudo apt-get install actionaz
Quitar la marca de agua AMD Unsupported en Ubuntu 13
La dichosa y jodida marca de agua aparece en la esquina inferior derecha. A mi en particular me ha aparecido por tener una tarjeta gráfica ATI. El script me lo he encontrado en askubuntu.com porque desde la versión beta de Ubuntu 13 aparece dicha marca de agua para varias tarjetas gráficas de la marca AMD (ATI)
Abrimos cualquier gedit o cualquier otro editor de textos y agregamos lo siquiente:
#!/bin/sh DRIVER=/usr/lib/fglrx/xorg/modules/drivers/fglrx_drv.so for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER done
Lo guardamos en escritorio (o donde querais) con cualquier nombre y al final con la extensión .sh
chmod +x Desktop/fix_amd.sh
Lo ejecutamos
sudo Desktop./fix_amd.sh
Cerramos sesión e iniciamos nuevamente. La marca de agua habrá desaparecido para siempre. Voilá 😀
Scripts en Bash: Backup Incremental y Full backup
Requisito para una urgencia en una empresa fue crear de urgencia unos full backups y un backup incremental diario de un repositorio. Como siempre estos requerimientos se requieren para ayer y son para salvar cabezas cuando las papas queman.
Debido al gran volumen de datos, como estrategia de backups se decidió realizar un Full backup mensual y un backup incremental diario.
A tal fin, se escribieron dos scripts, el primero de ellos, que dado un directorio crea un archivo tar comprimido del mismo. Y el segundo, el que se ejecuta diariamente, que se encarga de verificar la fecha de modificación del último backup full del directorio y a partir de la misma crea un tar comprimido con los cambios desde entonces.
Nada de otro mundo, dos scripts en bash sencillos, pero que se dejan a vuestra disposición por si las moscas.
Backup incremental:
#!/bin/sh TAR=$(which tar) TEE=$(which tee) ARGS=2 if [ $# -ne $ARGS ] then echo “Usage: “$0” file dir” echo ” file: backup file name” echo ” dir: path to backup” exit fi APP=$0 #app name FILE=$1“_incremental.tgz” #backup file FILE_FULL=$1“_full.tgz” #backup full FILE_OLD=$FILE“~” #file backuped before remove DIR=$2 #path LOG_DIR=/var/log LOG_FILE=$LOG_DIR“/”${APP##*\/}“.log” #remuevo de APP lo que este antes de la ultima / TODAY=`date “+%Y-%m-%d %a”` echo $TODAY” *** Backup incremental ***” | $TEE -a $LOG_FILE if [ ! -d $DIR ] then echo “ERROR: path “$DIR” not exist” | $TEE -a $LOG_FILE exit fi # Reviso si existe el backup full if [ ! -f $FILE_FULL ]; then echo “ERROR: full backup “$FILE_FULL” not exist!” | $TEE -a $LOG_FILE exit fi #Realizo backup del backup echo “Rotating files…” | $TEE $LOG_FILE if [ -f $FILE ]; then #cp -v $FILE $FILE_OLD | $TEE $LOG_FILE rm -v $FILE | $TEE $LOG_FILE fi #Realizo el backup DATE_FULL=“`date \”+%Y-%m-%d %H:%M\” -r “$FILE_FULL“`” echo “Full backupe created: “$DATE_FULL | $TEE $LOG_FILE echo “Making backup…” | $TEE $LOG_FILE $TAR -chzf $FILE –newer-mtime=“$DATE_FULL” $DIR | $TEE -a $LOG_FILE if [ $? == 0 ] then echo “Backup successfull!” else echo “ERROR: error making backup <img alt=":-(" src="http://luauf.com/wp-includes/images/smilies/icon_sad.gif" /> “ fi
Full backup:
#!/bin/bash TAR=$(which tar) TEE=$(which tee) ARGS=2 if [ $# -ne $ARGS ] then echo “Usage: “$0” file dir” echo ” file: backup file name” echo ” dir: path to backup” exit fi APP=$0 #app name FILE=$1“_full.tgz” #backup file FILE_OLD=$FILE“~” #file backuped before remove DIR=$2 #path LOG_DIR=/var/log LOG_FILE=$LOG_DIR“/”${APP##*\/}“.log” #remuevo de APP lo que este antes de la ultima / TODAY=`date “+%Y-%m-%d %a”` echo $TODAY” *** Backup full *** “ | $TEE -a $LOG_FILE if [ ! -d $DIR ] then echo “ERROR: path “$DIR” not exist” | $TEE -a $LOG_FILE exit fi #Realizo backup del backup echo “Rotating files…” | $TEE -a $LOG_FILE if [ -f $FILE ]; then #cp -v $FILE $FILE_OLD | $TEE -a $LOG_FILE rm -v $FILE | $TEE -a $LOG_FILE fi echo “Making backup…” | $TEE -a $LOG_FILE #Realizo el backup $TAR -chzf $FILE $DIR | $TEE -a $LOG_FILE if [ $? == 0 ] then echo “Backup successfull!” else echo “ERROR: error making backup <img alt=":-(" src="http://luauf.com/wp-includes/images/smilies/icon_sad.gif" /> “ fi
Redireccionar emails salientes a la IP que queramos
La necesidad de redireccionar hacia otra IP todos los emails salientes en un servidor puede ser debido a que hallan metido la IP principal de salida SMTP en alguna buena jodida lista negra en la que tarden mucho en des-listar la IP. Para solucionar este problema rápidamente hay que redireccionar todo el tráfico saliente del puerto 25 o 587 (o al puerto que tengamos configurado el SMTP) hacia otra IP que tengamos configurada en nuestro servidor. La regla de IPTables es la siguiente:
Regla para el puerto 25:
iptables -t nat -A POSTROUTING -p tcp --dport 25 -j SNAT --to-source AQUI-LA-NUEVA-IP