Script Backup de dados

Iniciado por artilheiro.mz, 09 de Outubro de 2008, 06:07

tópico anterior - próximo tópico

artilheiro.mz

alo a todos

eu estou a pouco tempo neste mundo de linux, e ainda nao percebo muito bem como funcionam os scripts de comandos em bash

eu tenho uma pequena rede em casa montada com o samba, onde todos os pc´s da minha casa veem buscar informacao no meu principal, para isso cada um tem o seu homefolder com todos os seus dados, sejam documentos ou fotos e pdf´s por ai fora

eu tive a ler um bocado, e vi que poderiamos criar backups de documentos usando o crontab, mas para isso precisariamos de um script para o crontab correr o script que daria indicação para começar a fazer o backup


alguem sabe me explicar como fazer um script que diga para copiar ficheiros de um home folder para um outro lugar no pc, seja um disco duro implementado ou um disco duro externo?

abraços e desde ja um obrigado

huggsy

Ola,

Aqui tens um exemplo de script que te pode servir ;) mas ha diferentes maneiras de criar um script.
Depois é so adicionar o script ao contrab :)



#!/bin/bash


#Defines our output file

OUTPUT=/some/directory/to/store/the/backup_$(date +%Y%m%d).tgz



#Defines our directory to backup

BUDIR="/some/directory/to/backup/"



#Display message about starting the backup

echo "Starting backup of directory $BUDIR to file $OUTPUT"



#Start the backup

tar -cZf $OUTPUT $BUDIR



#Checking the status of the last process:

if [ $? == 0 ]; then

    #Display confirmation message

    echo "The file:"

    echo $OUTPUT

    echo "was created as a backup for:"

    echo $BUDIR

else

    #Display error message message

    echo "There was a problem creating:"

    echo $OUTPUT

    echo "as a backup for:"

    echo $BUDIR

fi


In a world with Linux, who needs windows and Gates!!!

artilheiro.mz

oi huggsy, obrigado pela resposta

entao, em principio, esse script que agora acabaste de me mostrar, s'o tenho que substituir o enderexo dos ficheiros que quero fazer o backup, e o directorio para onde vai o backup...

agora, consegues me dizer como posso, ap'os ter feito as modificacoes no script sobre a localizacao dos ficheiros... consegues me dizer como posso implementa-lo no crontab de maneira a que possa correr todos os dias, todos os meses as 12 horas?

ja agora, ser'a possivel fazer com que ele s'o modifique o que foi alterado? caso nao, ele ir'a automaticamente sempre gravar um novo documento por cima do antigo?

nao 'e preciso especificar a qualidade da compressao dos ficheiros?

abraco e obrigado

huggsy

Oi,

Tens que editar a crontab com o comando :

contrab -e  (i para inserir)

a crontab apresenta se da seguinte maneira.

#minutos   horas   dias   mes   dias da semana
  *           *         *       *          *
para o teu caso

  00           12       *      1-12       mon,tue,wen,thus,fri  /path/script.sh

mas podes utiliser o man cron para poderes adaptar melhor ao teu caso.

é possivel fazer o backup  so modificando o que foi alterado, faz uma pesquisa no google sobre como proceder ;) et nao tes esqueças

google is your friend :)
     

 
In a world with Linux, who needs windows and Gates!!!

artilheiro.mz

tks hugssy, vou experimentar e depois te digo algo  ;)

artilheiro.mz

alo

depois de corrigir alguns pequenos erros no scritpt, e mudar o path de acordo com o meu pc, ele ja funciona na boa

agora ha um pequeno problema

na parte onde a gente escolhe que directoria fazer o backup, eu escolhi a pasta /homes

pois tenciono que ele faça o backup da pasta home de cada usuario.

ja adicionei o script ao crontab, e ele o executa a hora indicada, acontece que

o ficheiro que ele cria, tem somente 100 e alguns megas, mas os homes de cada usuario teem mais q 3 gigas de informacao tudo junto

isto será porque há alguma coisa no script acima que faz com que ele cmprima assim?

seria estranho o tgz cmprimir de 3 gigas e meio para 100 e poucos, ou estarei enganado?

abraço

huggsy

Hello

Penso que o problema vem do comando tar

tar -cZf $OUTPUT $BUDIR

talvez seja melhor passar estes parametros

tar zcvf $OUTPUT $BURDIR

exprimenta e depois diz algo.

Enjoy
In a world with Linux, who needs windows and Gates!!!

artilheiro.mz

boas hugsy, quando eu disse que rectifiquei algumas coisas no script, essa parte que mostrast-t foi uma delas, porém não tinha acrescentado o "v",

irei experimentar depois digo algo.

a minha dúvida é: não há nenhum problema em tentar copiar e comprimir a pasta /homes pois não, porque assim faria logo os backups de toda informação importante de todos os usuarios

abraço