hey all,

i wrote this quick script to kind of load balance my oldest videos off to a remote box when i get close to full. (set up as a nightly cron job) not the best way in the world to handle this, i know, but a partial solution bests no solution.

anyway, figured it might be useful to others.

ttyl,
-- derek


river sh # cat mythbalance.sh
#!/bin/bash

PRIMARY_STORAGE="/mnt/store"
PRIMARY_STORAGE_THRESHOLD="80"

SECONDARY_STORAGE="/mnt/remote-store"
SECONDARY_STORAGE_THRESHOLD="50"



while [ 1 ]
do

PRIMARY_STORAGE_USAGE=`df | grep ${PRIMARY_STORAGE} | grep -o "[0-9]\+%"`
        if [[ "${#PRIMARY_STORAGE_USAGE}" = "2" ]]; then
                PRIMARY_STORAGE_USAGE="0${PRIMARY_STORAGE_USAGE}"
        fi
        PRIMARY_STORAGE_USAGE="${PRIMARY_STORAGE_USAGE:0:2}"

SECONDARY_STORAGE_USAGE=`df | grep ${SECONDARY_STORAGE} | grep -o "[0-9]\+%"`
        if [[ "${#SECONDARY_STORAGE_USAGE}" = "2" ]]; then
                SECONDARY_STORAGE_USAGE="0${SECONDARY_STORAGE_USAGE}"
        fi
        SECONDARY_STORAGE_USAGE="${SECONDARY_STORAGE_USAGE:0:2}"

if [[ "${PRIMARY_STORAGE_USAGE}" -lt "${PRIMARY_STORAGE_THRESHOLD}" ]]
        then
                echo mythbalance: ${PRIMARY_STORAGE} is under threshold
                exit 0
        fi
if [[ "${PRIMARY_STORAGE_USAGE}" -lt "${PRIMARY_STORAGE_THRESHOLD}" ]]
        then
echo mythbalance: ${SECONDARY_STORAGE} is already over threshold
                exit 1
        fi

        cd "${PRIMARY_STORAGE}"
        for TARGET in `ls -tr *.nuv`
        do
                if [[ ! -L ${TARGET} ]]
                then
                        break
                fi
        done

        echo mythbalance: moving ${TARGET} to ${SECONDARY_STORAGE}...
        mv "${TARGET}" "${SECONDARY_STORAGE}"
        ln -s "${SECONDARY_STORAGE}/${TARGET}" .
        echo mythbalance: linked ${TARGET} back to ${PRIMARY_STORAGE}

done
_______________________________________________
mythtv-users mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users

Reply via email to