Author Topic: Archive CCTV Images  (Read 69 times)

Matt

  • Administrator
  • Jr. Member
  • *****
  • Posts: 83
    • View Profile
Archive CCTV Images
« on: December 09, 2011, 01:12:54 PM »
Code: [Select]
#!/bin/bash

#Archive Yesterdays Images
YESTERDAY=`date --date='yesterday' +"%Y%m%d"`
TWOWEEKS=`date --date='14 days ago' +"%Y%m%d"`
FILES=$(ls /mnt/soho_storage/samba/shares/CCTV/*$YESTERDAY*.jpg 2> /dev/null | wc -l)
DIR="/mnt/soho_storage/samba/shares/CCTV/$YESTERDAY"
RMDIR="/mnt/soho_storage/samba/shares/CCTV/$TWOWEEKS"

if [ "$FILES" != "0" ]
        then
                echo "Files Exist"
                if [ ! -d "$DIR" ]; then
                        mkdir $DIR
                fi
                        #for f in `ls /mnt/soho_storage/samba/shares/CCTV/*$YESTERDAY*.jpg`; do
                        #       mv $f $DIR
                        #done
                        find /mnt/soho_storage/samba/shares/CCTV/ -maxdepth 1 -name "*$YESTERDAY*.jpg" | xargs -i mv {} $DIR/
else
                echo "No Images.....Exit"
fi



#Delete older files/folders (14 Days)
if [ -d "$RMDIR" ]; then
        rm -rf $RMDIR
fi
250.5BHP & 266lb/ft


Matt

  • Administrator
  • Jr. Member
  • *****
  • Posts: 83
    • View Profile
Re: Archive CCTV Images
« Reply #1 on: December 19, 2011, 03:28:19 PM »
Changed the script to not perform the check to see if files exist, as there will always be files. I was running into a problem where there were too many files and bash was crapping out, stopping the script from completing.

Code: [Select]
#!/bin/bash

#Archive Yesterdays Images
YESTERDAY=`date --date='yesterday' +"%Y%m%d"`
TWOWEEKS=`date --date='14 days ago' +"%Y%m%d"`
DIR="/mnt/soho_storage/samba/shares/CCTV/$YESTERDAY"
RMDIR="/mnt/soho_storage/samba/shares/CCTV/$TWOWEEKS"

if [ ! -d "$DIR" ]; then
        mkdir $DIR
fi

find /mnt/soho_storage/samba/shares/CCTV/ -maxdepth 1 -name "*$YESTERDAY*.jpg" | xargs -i mv {} $DIR/

#Delete older files/folders (14 Days)
if [ -d "$RMDIR" ]; then
        rm -rf $RMDIR
fi
250.5BHP & 266lb/ft