[mythtv-users] myth storage balancing script
Derek Anderson
public at kered.org
Mon Oct 17 01:41:44 EDT 2005
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
More information about the mythtv-users
mailing list