git4pipi/git-backup.sh

45 lines
976 B
Bash
Executable File

#!/bin/sh
REPOS=/srv/git/
TSTMP=`date '+%s'`
BUNDLESTMP="/tmp/bundles/$TSTMP"
OUTPUTDIR=/root/git-backup
trt()
{
for fl in `find * -maxdepth 0 -type d ! -name bundles`
do
cd $fl
echo "Traitons $1$fl"
if git rev-parse --is-bare-repository >/dev/null 2>&1
then
git bundle create "$BUNDLESTMP/$1$fl.bundle" --all
else
mkdir "$BUNDLESTMP/$1$fl"
trt "$1$fl/"
fi
cd ..
done
}
mkdir -p "$BUNDLESTMP/"
for fld in mysaa bernard
do
mkdir "$BUNDLESTMP/$fld"
cd "$REPOS/$fld/"
trt "$fld/"
done
mdate=`date "+%yw%U"`
fletter="a"
while [ -f "$OUTPUTDIR/git-pipi2-$mdate$fletter.tar.gz" ]
do
if [ ${fletter: -1} == "z" ]
then fletter="${fletter}a"
else fletter="${fletter::-1}$(echo ${fletter: -1} | tr '0-9a-z' '1-9a-z_')"
fi
done
echo "Enregistrement sous git-pipi2-$mdate$fletter.tar.gz"
tar -czvf "$OUTPUTDIR/git-pipi2-$mdate$fletter.tar.gz" $BUNDLESTMP
rm -r $BUNDLESTMP