#!/bin/bash defTarget="/site/unrarred" if [ "$1" == "" ]; then echo "Usage: $0 DIRNAME [TARGET] - default is /unrarred dir" exit 1 fi if [ "$2" != "" ]; then defTarget="$2" fi if [ -d "$defTarget" ]; then echo -n "" else echo "Error: TARGET $defTarget is invalid!" fi cds=`ls -1 $1|grep -iE "^cd[1-9]"` cds="$cds ." for cdDir in $cds; do if [ -d "$1/$cdDir" ]; then firstFile=`ls -1 $1/$cdDir|grep -iE "(part01|rar|001|part1)"|head -1` if [ "$firstFile" != "" ]; then # if [ -e $defTarget/$1 ]; then if [ -e $defTarget ]; then echo -n "" else # mkDir=`mkdir $defTarget/$1` mkDir=`mkdir $defTarget` fi # copyNfo=`cp $1/*.nfo $defTarget/$1/` echo "Started: `date`" echo "Unpacking $1/$cdDir/$firstFile to $defTarget" release=(`pwd | tr '/' ' '`) echo `date +'%a %b %d %H:%M:%S %Y'` RARSTART: ${release[2]} >> /ftp-data/logs/glftpd.log # unRar=`unrar e $1/$cdDir/$firstFile $defTarget/$1/` unRar=`unrar e -o+ -tsm- $1/$cdDir/$firstFile $defTarget` echo `date +'%a %b %d %H:%M:%S %Y'` RARSTOP: ${release[2]} >> /ftp-data/logs/glftpd.log echo "Stopped: `date`" fi fi done exit 0