#!/bin/sh
##############################################################################
# ---[ unpacker.sh ] ---
# script to look for rar files inside a specific directory.
# if found, unrar them
# w 10/29/08 horto
##############################################################################
DLDIR=/mnt/HD_a2/media
LOG=/mnt/HD_a2/logs/unpack.log
UNRAR=/ffp/bin/unrar
# quick and dirty check to make sure no active downloads.
# because we don't want to unrar/delete files that may be actively downloading!
if [ `/ffp/bin/transmission-remote -l | wc -l` -gt 1 ]; then
# stop, because a download is active.
exit 0
else
# continue; because there are no active downloads.
# check incoming DLDIR
for FILE in `find $DLDIR -name "*.rar"`; do
if [ "$FILE" != "*.rar" ]; then
# shell-fu to extract to path containing the rar
FILENAME=`expr //$FILE : '.*/\(.*\)'`
UNPACKDIR=`echo $FILE | sed -e s/$FILENAME//g`
echo [`date`] Extracting "$FILE" ... >> $LOG
# unrar file to the directory its sitting in
$UNRAR x -y "$FILE" "$UNPACKDIR" >> /dev/null 2>&1
echo [`date`] ... done extracting. >> $LOG
# cleanup - remove the rar file(s)
# note: match .rar, .r01, .r02 ... etc
echo [`date`] Removing "$FILENAME and rar files." >> $LOG
for j in `find $UNPACKDIR -name "*.r??"`; do
rm $j
done
fi
done
exit 0
fi