Script zum automatischen loeschen alter Files

So, hier ein kleines script was man per cronjob oder sowas anschieben kann. Sucht nach Dateien die aelter sind als und loescht diese. Der Vorgang wird dann im Syslog u. in einer Logdatei eingetragen (bei mir halt fuer den User und fuer das rlogging ;) ). Der Loggerteil ist von irgendwo geklaut. Hab leider vergessen woher liegt schon was hier rum das Ding ^^

———————

 

#!/bin/bash
# Scrtipt cleans up Files within Folder Structure
# Temp Files older than set within $DAYS will be deleted.

##Customer Config##
DAYS=5
CUSTOMER=foo
TARGET=/path/to/structure
NOW=`date +%Y%m%d.%H:%M:%S`

##Logger Config##
SYSLOG=”YES”
VERBOSE=”YES”
LOGGER=”/usr/bin/logger”
FACILITY=”user”

## Function for the syslog logging ##
LOG()
{
PRIORITY=”`echo $* | cut -d ‘:’ -f1`”
LOGMESSAGE=”`echo $* | cut -d ‘:’ -f2-`”
LOGMESSAGE=”`basename $0 | cut -d ‘.’ -f1`[$$]:$LOGMESSAGE”
if [ "$VERBOSE" = "NO" ]; then
[ "$SYSLOG" = "YES" ] && $LOGGER -p $FACILITY.$PRIORITY $LOGMESSAGE
else
echo “`date ‘+%b %e %H:%M:%S’`: $LOGMESSAGE”
[ "$SYSLOG" = "YES" ] && $LOGGER -p $FACILITY.$PRIORITY $LOGMESSAGE
fi
}

## Cleanup Process ##
LOG “INFO FTP Cleanup Started for $CUSTOMER within $TARGET”
echo “Cleanup Started: $NOW” >> $TARGET/filecleanup.log
echo “——List of removed files——”
findĀ  $TARGET/* -type f -mtime +$DAYS -exec rm -vf {} \; | tee -a $TARGET/filecleanup.log
echo “Cleanup Stopped: `date +%Y%m%d.%H:%M:%S`” >> $TARGET/filecleanup.log
echo “##########”
LOG “INFO FTP Cleanup Stopped for $CUSTOMER within $TARGET”

#fin.

ich hab da mal …

… was kleines gedichtet. Ka obs gut geworden ist. Aber gut genug ums hier zu verstecken allemal :D


Mein, Dein

Deine Augen ein Universum
Dein Ich ein Weltenmeer

Mein Wissen dem nichtig
Mein Wesen dem richtig

Dein Laecheln richtet
Mein Herz vernichtet
sich nicht in dieser Lobpreisung

Vielmehr
der Neugier stetige
Speisung



kleines ffmpeg bash script

Hier mal ein kleines und wahrscheinlich etwas dreckiges Script um 2 Folder abzugleichen und die Files die im Zielordner noch nicht vorhanden sind per ffmepeg zu transcodieren.

————————-

#!/bin/bash # Script to encode videos via cron job

##############################

# CONFIG

#paths
SOURCE_DIR=/path/to/source
DEST_DIR=/path/to/destination

#Logging
LOG_DIR=/path/to/logs
LOG_FILE=foobar.log

#temporarily used files for compairism and listing

TMP_DIR=/path/to/tempfiles
TMP_FILE_SOURCE=foobar1.list
TMP_FILE_DEST=foobar2.list
TMP_CLEAN_SOURCE=foobar3.list
TMP_CLEAN_DEST=foobar4.list
TMP_FILE_DIFF=foobar5.list
CODING_LIST=foobar6.list

#affected filetypes.
TARGET_TYPE=flv
SOURCE_TYPE1=mov
SOURCE_TYPE2=mp4
THUMB_TAG=small

#coding options for the thumb video
BITRATE=1000k
AUDIORATE=44100
AUDIO_BITRATE=128k
RATE=25
FILTER=”scale=-1:432″

#system related helps if filenames have spaces
#IFS=$’\n’

#########################################
# Start of functional part

echo “Transcoding Started” >> $LOG_DIR/$LOG_FILE
echo `date +%Y%m%d.%H%M%S` >> $LOG_DIR/$LOG_FILE

#search for already processed files, write to tmp file
find $DEST_DIR -type f -name “*.$SOURCE_TYPE1.$TARGET_TYPE” -or -name “*.$SOURCE_TYPE2.$TARGET_TYPE” > $TMP_FILE_DEST

#search for files in source directroy, write to tmp file
find $SOURCE_DIR -type f -name “*.$SOURCE_TYPE1″ -or -name “*.$SOURCE_TYPE2″ > $TMP_DIR/$TMP_FILE_SOURCE

#cut flv extension and paths from list
sed -e “s/.$TARGET_TYPE//g” -e “s#$DEST_DIR/##g” $TMP_DIR/$TMP_FILE_DEST |sort > $TMP_DIR/$TMP_CLEAN_DEST
sed -e “s#$SOURCE_DIR/##g” $TMP_DIR/$TMP_FILE_SOURCE | sort > $TMP_DIR/$TMP_CLEAN_SOURCE

#compare source and destination files
diff -d $TMP_DIR/$TMP_CLEAN_SOURCE $TMP_DIR/$TMP_CLEAN_DEST > $TMP_DIR/$TMP_FILE_DIFF |grep $TMP_DIR/$TMP_CLEAN_SOURCE

#eleminate < from diff file
sed -e “s/< //g” $TMP_DIR/$TMP_FILE_DIFF > $TMP_DIR/$CODING_LIST

#phrase the coding list and encode the files

for FILE in $(cat $TMP_DIR/$CODING_LIST |grep -E “.$SOURCE_TYPE1|.$SOURCE_TYPE2″)
do
echo “encoding $FILE” >> $LOG_DIR/$LOG_FILE

ffmpeg -i $SOURCE_DIR/$FILE -y -ar $AUDIORATE -ab $AUDIO_BITRATE -b $BITRATE -f $TARGET_TYPE -vf $FILTER $DEST_DIR/$FILE.$THUMB_TAG.$TARGET_TYPE$

done

#cleanup tmp files
rm $TMP_DIR/$TMP_FILE_DEST $TMP_DIR/$TMP_FILE_SOURCE $TMP_DIR/$TMP_CLEAN_DEST $TMP_DIR/$TMP_CLEAN_SOURCE $TMP_DIR/$TMP_FILE_DIFF $TMP_DIR/$CODING_LIST

echo “Transcoding Stopped `date +%Y%m%d.%H%M%S`” >> $LOG_DIR/$LOG_FILE

——————-