Mais um backup
Publicado por Carlos Eduardo Brock 01/10/2004
[ Hits: 5.821 ]
Esse backup que eu faço onde trabalho, ele gera arquivos com o dia da semana no nome, com um arquivo por diretorios.
#!/bin/bash # se alguem notar alguma semelhanca com clipper, eh por que eh com isso que eu trabalho mesmo, # entao nao liguem e deixem as pedras rolar. # gosto de colocar a data para completar o nome do arquivo em uma variavel, por que se o backup se estender alem 23:59 # o arquivos vao ficar com o nome respectivo a data de movimentacao/atualizacao # sei que os arquivos tgz|bz2 podem ficar com datas de criacao, mas isso eh o de menos. xdata=`date +%a` # Local a partir do raiz, para fazer os backups no servidor backup="dados/backup" # Local a partir do raiz onde estao os arquivos fontes="fontes" # Local para onde os arquivos devem ser copiados, pode ser uma nfs, ou pasta hd="home/backup" # Opcao de compactacao para o tar, poderia se -cjvf (compactacao maior) se nimguem estiver usando os arquivos para serem backupeados TarCmd="-czvf" # Sufixo para o tar, procure acompanhar ocomando, czvf = tgz ou tar.gz, cjvf = bz2 ou tar.bz2 TarSuf="tgz" # vetor com Titulo da empresa, para exibicao somente. empresa=("Empresa 1..." "Empresa 2..." "Empresa 3..." ) # vetor com prefixo para o arquivo tar nomes=("prefixo1" "prefixo2" "prefixo3" ) # vetor com local e arquivos para backupear, dir=("/$fontes/empresa1/*.prg" "/$fontes/empresa2/{*.c,*.sh,Makefile}" "/$fontes/empresa3/{*.prg,*.ch,*.mak,Makefile}" ) # vetor com diretorios em que se deve tormar cuidado de renomear os arquivos para caixa baixa # isso as vezes e necessario para diretorios alterados por programas do DOS, alguns editores/compiladores # e o proprio interpretador de comandos tem o pessimo habito de gerar nomes de arquivos em caixa alta dirren=("/$fontes/empresa1" "" "/$fontes/empresa2" ) # Isso nao ficou muito bonito eu sei, mas inda nao sei fazer de outra forma. # Nao, nao. Nao ficou nada bonito. # Ficou ORRIVEL mesmo, se vcs me vissem agora eu acho que ia enfiar a cabaca na terra como uma avestruz pra me esconder. num="0 1 2" for x in $num; do echo ":: ${empresa[$x]}" echo ":: ${empresa[$x]}" >> /$backup/log_$TarSuf_$xdata.log # isso vai fazer a renomeacao dos arquivo quando for pedido no vetor dirren cdir=${dirren[$x]} if [ ! -z $cdir ]; then old=`pwd` cd ${dirren[$x]} for file in * do mv $file `echo $file | tr '[:upper:]' '[:lower:]'` 2>/dev/null done cd $old fi ccomando="tar $TarCmd /$backup/${nomes[$x]}_$xdata.$TarSufi ${dir[$x]} >> /$backup/log_$TarSuf_$xdata.log 1>>/$backup/log_copia_$xdata.log 2>>/$backup/log_copia_$xdata.log" echo "#!/bin/bash" > comando.sh echo $ccomando >> comando.sh chmod +x comando.sh ./comando.sh rm comando.sh -rf rm -rf -v /$hd/${nomes[$x]}_$xdata.$TarSuf >> /$backup/log_copia_$xdata.log cp -v /$backup/${nomes[$x]}_$xdata.$TarSuf /$hd/ >> /$backup/log_copia_$xdata.log done echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" echo ":: FIM DOS BACKUPS ::" echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" >> /$backup/log_copia_$xdata.log echo ":: FIM DOS BACKUPS ::" >> /$backup/log_copia_$xdata.log echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" >> /$backup/log_copia_$xdata.log
Libera conectividade social em rede com squid
Script para gravar 2 (ou 4) CDs simultaneamente
Checar tamanho do Cache do Squid e limpar
Nenhum comentário foi encontrado.
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)
Autenticação necessária. um aplicativo quer acesso ao chaveiro (2)