• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Rui Carlos

script de backup... mais uma :)

1 mensagem neste tópico

Há uns tempos atrás criei esta simples script para criar arquivos de backups.

Temos que indicar o caminho de uma ou várias pastas (podendo ser usadas as expressões regulares da consola para tal) e é criado um tar.gz na directoria actual com o conteúdo dessa(s) pasta(s), cujo nome é o mesmo que o da(s) pasta(s).

Se for indicada o opção '-d' é acrescentada a data actual ao nome do arquivo criado.

Esta script foi feita para MacOSX, de forma a que excluísse os ficheiros .DS_Store e .localized, que são basicamente lixo (noutros SOs esta funcionalidade não serve para nada, mas a script deve funcionar em qualquer sistema UNIX).

Download da última versão: rcgoncalves.pt/scripts/

#!/bin/bash

# ==============================================================================
# author        Rui Carlos Gonçalves
# email         rcgoncalves.pt@gmail.com
# version       1.5
# date          02/2007
# ==============================================================================

if [ "$1" = "-?" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
 echo Create backup files \(.tar.gz files\)
 echo Version 1.5
 echo
 echo Usage
 echo \ \ backup -h
 echo \ \ backup source_directory ...
 echo \ \ backup -d source_directory ...
 echo
 echo The \`-h\' option display this help
 echo The \`-d\' option append the current date to directory name
 echo
 echo Author
 echo \ \ Rui Carlos Gonçalves
 echo \ \ rcgoncalves.pt@gmail.com
 echo \ \ http://rcgoncalves.pt
 echo
 exit
fi

if [ "$1" = "-d" ]; then
 shift
 ARGC=(${#} - 1)
 NAME="-$(date +%d%m%Y).tar.gz"
else
 ARGC=${#}
 NAME=".tar.gz"
fi

if [ -z "$1" ]; then
 echo backup: No directory given
 echo Try \`-h\' for more information
 exit
fi

while [ $ARGC -gt 0 ]
do
 if ! [ -d "$1" ]; then
   echo backup: No such directory \(\`$1\'\)
 else
   FILE=`basename $1`$NAME
   tar czvf $FILE --exclude '\.DS_Store' --exclude '\.localized' $1
   echo ------------------------------------------------------------
   echo File \`$FILE\' successfully created
   echo ============================================================
 fi
 ARGC=$[ $ARGC - 1 ]
 shift
done

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora