5 de dezembro de 2011

Backup do diretório atual

Aqui na X4 usamos git e eu confesso que muitas vezes tenho medo de me perder nos merges e branches. Os recursos são ótimos, mas ainda estou me acostumando com eles.

Então, fiz um script para tirar um backup e administrar versões anteriores do diretório corrente, para simplificar minha vida.

O backup não é automático. Rodo sempre que preciso, quando preciso.

Olha aí:
#!/bin/bash

# @brief Backs up current dir plus 3 older versions (.bak, .v-1.bak, .v-2.bak, .v-3.bak).
# @author viniciusban@gmail.com


echo "Let's back $PWD up"
from="./"
from_display="."

for i in 3 2 1 0
do
    to=$from
    to_display=$from_display
    if [ $i -gt 0 ]; then
        from="${PWD}.v-${i}.bak"
    else
        from="${PWD}.bak" # there's no v-0.bak
    fi

    from_display=`basename $from`

    if [ "$to" = "./" ]; then # 1st time
        if [ -d "$from" ]; then
            echo -n "Erasing the old fashioned ${from_display}... "
            rm -rf $from
            echo "OK"
        fi
    else
        if [ -d "$from" ]; then
            echo -n "Renaming ${from_display} to ${to_display}... "
            mv $from $to
            echo "OK"
        fi
    fi
done

echo -n "Creating a brand new ${from_display} from ${PWD}... " # I'm sure it's $from_display
cp -r  $PWD $from # I'm sure it's $from
echo "OK"

Eu dei um nome bem sugestivo a esse script(bakdir) e coloquei-o no ~/bin, que está no meu path.

Copie e use, se lhe for útil.

0 comentários:

Postar um comentário