Movimientos de ficheros y auto-actualizacion de librería

En este punto, lo único que me falta para terminar de automatizar todo el sistema es que los ficheros descargados se sitúen donde yo quiero, que se borren los ficheros adicionales en caso de haberlos y que la librería se actualice.

Todo ello lo haremos mediante el fichero download_complete.sh que creamos y que le indicamos a transmission en el fichero de configuración que debía de ejecutar cada vez que terminara una descarga.

A continuación os dejo el código del fichero que yo utilizo para que podáis copiarlo y modificarlo a vuestro gusto.

#!/bin/bash
#sirve para indicarle a la shell el interprete que debe usar para este script

#Se envia un email de que ha finalizado la descarga, indicando información basica
USUARIO=“<vuestro usuario de gmail>
PASSWORD=“<vuestra contraseña de gmail>
DIRECCION=“$USUARIO@gmail.com”
ASUNTO="[Transmission] Descarga finalizada"
MENSAJE="Se ha completado la descarga del trabajo \n$TR_TORRENT_NAME\nHora: $TR_TIME_LOCALTIME\nFolder: $TR_TORRENT_DIR\nID: $TR_TORRENT_ID"
SERVIDOR="smtp.gmail.com:587"
sendemail -f $DIRECCION -t $DIRECCION -u $ASUNTO -m $MENSAJE -s $SERVIDOR -xu $USUARIO -xp $PASSWORD -v -o username=$USUARIO -o password=$PASSWORD -o tls=yes

#mueve los ficheros .mkv de la carpeta de descarga a su carpeta padre
find "$TR_TORRENT_DIR/$TR_TORRENT_NAME" -name "*.mkv" ! -name *sample* -exec mv {} "$TR_TORRENT_DIR" \; | logger

#borra los archivos y carpetas que no son mkv de la carpeta de descarga
find "$TR_TORRENT_DIR/$TR_TORRENT_NAME" ! -name "*.mkv" -exec sudo rm -r {} \; | logger #debian-transmission tiene que ser sudoer para borrar

#Actualizacion de la libreria de video
curl --data-binary '{ "jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "mybash"}' -H 'content-type: application/json;' http://localhost/jsonrpc

Un par de puntualizaciones:

  • La primera es que (obviamente) tendréis que añadir vuestro usuario y contraseña de gmail en las dos variables que he marcado en rojo.
  • También, tal como indico en un comentario, para que el script sea capaz de borrar la carpeta creada durante la descarga así como los ficheros basura, el usuario debian-transmission debe de ser sudoer. Es decir, debemos indicarle al sistema que dicho usuario puede invocar sudo. Eso se hace editando el fichero /etc/sudoers y añadiendo la linea debian-transmission ALL=(ALL) NOPASSWD: ALL. Vereis que ya hay una linea (al menos) para el usuario root, así que podéis ponerla debajo.
  • Lo último es que para actualizar la librería hago una llamada mediante curl y en mi caso al menos este no estaba instalado. A estas alturas no deberíais tener problema en saber que para instalarlo se hace mediante el comando sudo apt-get install curl.

Pues creo que eso es todo. En la próxima entrada haré un rápido resumen de todos los pasos a seguir para coger una raspberry vacía y dejarla tal como la tengo yo ahora, totalmente automatizada.

Anuncios

Un comentario en “Movimientos de ficheros y auto-actualizacion de librería

  1. Pingback: Articulo resumen y guía rápida | Torrated

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s