shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Script de Back-UP


From: Maurilio N. - Hotmail
Subject: Script de Back-UP
Date: Wed, 30 Jul 2003 20:13:34 -0300

Ola Lista...
Estou fazendo um script de Backup e estou com os sequintes problemas

1
eu recebi de uma variavel $files por ex o sequinte resultado "/usr /tmp /var" ( 
Sem aspas )
e presiso tratato  para ficar assim ( pensei em sed mas como ja estou no script 
e nao queria fazer cache )
tar -czvf servidor.tgz /pasta$novavariavel /pasta$novavariavel 
/pasta$novavariavel ( coloquei sem o / pq ele deve vir la de cima )
que o resultado final para o comando seria
tar -czvf servidor.tgz /pasta/etc /pasta/usr /pasta/var

Estou usando bash, e a strind $files veio de um aquivo que uso pra configurar o 
script de backup 

2
quando estou lendo o arquivo de configuracao, me deparei com o sequinte problema
no inicio eu pensei em usar apenas as linhas abaixo, mas ai veio o problema de 
se querer fazer backup de mais de uma pasta compartilhada
Share=compartilhamento
Files=arquivos_que_quero_tirar_copia1 arquivos_que_quero_tirar_copia2 
arquivos_que_quero_tirar_copia3
a linha acima explica um pouco do primeiro problema

dai veio a ideia de criar assim

1Share=compartilhamento1
1Files=arquivos_que_quero_tirar_copia1 arquivos_que_quero_tirar_copia2 
arquivos_que_quero_tirar_copia3
2Share=compartilhamento2
2Files=arquivos_que_quero_tirar_copia1 arquivos_que_quero_tirar_copia2 
arquivos_que_quero_tirar_copia3
3Share=compartilhamento3
3Files=arquivos_que_quero_tirar_copia1 arquivos_que_quero_tirar_copia2 
arquivos_que_quero_tirar_copia3

como disse acima uso o sed pra filtrar a as linhas e jogo em loop


Soocoorrooooooo, sera que alguem pode me ajudar,!!!!!!!!!

Pra vc's entenderem eu criei assim
#########    scrip.sh    #######
e o script principal, ele se basei no bkp.conf para saber quais sao os arquivos 
dos server que tem as variaveis

#########    bkp.config    #######
neste arquivo vao os nomes dos arquivo que contem o backup a ser feito e devo 
defini no futuro 3 formas de backup
1 - uma copia em hd e outra em fita ( diario )
2 - local, um backup diario que começa e depois de ok mata o anterior
3- backup semanal, ele cria varios arquivos na maquina, bkp-segunta, 
bkp-terca,...... e o ultimo e sempre o do dia anterior ( em loop )

#########   server.bkp    #######
arquivo onde tem as variaveis Server, File sistem e assim vai.......

Ps: trabalhei tudo em echo pra so pra teste....

Abraço
Maurilio N.
Abaixo o que ja comecei a fazer
script.sh
##########################################################################################################################################
#!/bin/bash
clear
configfile="bkp.config"

for filecfg in `sed -e /#/d $configfile` 
do 
 echo --------------------------------------
 echo $filecfg 
 echo --------------------------------------
 server=`grep "Server=" $filecfg |sed -e /#/d -e s/Server=//`
 user=`grep "User=" $filecfg |sed -e /#/d -e s/User=//`
 pass=`grep "Password" $filecfg |sed -e /#/d -e s/Password=//`
 fstype=`grep "FSType=" $filecfg |sed -e /#/d -e s/FSType=//`
 share=`grep "Share" $filecfg |sed -e /#/d -e s/Share=//`
 files=`grep "Files=" $filecfg |sed -e /#/d -e s/Files=//`

#Testando e Montado

#NFS File Sistem
  if [ "$fstype" == "nfs" ]
  then
     echo "mkdir /mnt/bkp/$server"      
     for share in $share
   do
          echo "mkdir /mnt/bkp/$server$share"
          mountpoint="/mnt/bkp/$server$share/"
          echo "NFS - mount -t $fstype $server:$share $mountpoint"
         echo " tar -czvf $server-bkp.tar.gz $varfiles"
     done
  fi


#SMB File Sistem
  if [ "$fstype" == "smb" ]
  then
     echo "mkdir /mnt/bkp/$server"      
     for share in $share
         do
                       echo "mkdir /mnt/bkp/$server/$share"
                       mountpoint="/mnt/bkp/$server/$share/"
         smbserverpath='\\'$server'\'$share'\'
         echo "SMB - mount -t $fstype $smbserverpath $mountpoint -o 
username=$user,password=$pass"
          echo " tar -czvf $server-bkp.tar.gz $varfiles"
      done
  fi  

#Local Server
  if [ "$server" == local ]
           then echo LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCAL
   echo "tar -czvf $server-bkp.tar.gz $files"
  fi
#Mostrando Variaveis
 echo Variaveis-----------------------------
 echo "Server      = $server"
 echo "User        = $user"
 echo "Pass        = $pass"
 echo "FS Type     = $fstype"
 echo "Share       = $share"
 echo "Files       = $files"
 echo "Mount Point = $mountpoint"
 echo "SMB Server  = $smbserverpath"
 echo --------------------------------------
done
##########################################################################################################################################



bkp.conf
##########################################################################################################################################
#use only names of files = servers to make back-up
#To Impreve you Back-Up, leave localhost file in last position
gdrinet.bkp
gdrweb.bkp
local.bkp
##########################################################################################################################################





server.bkp
##########################################################################################################################################
###############################################################################
# Server=server (if server = local, please only specif "Files="               #
# User=username                                                               #
# Password=password                                                           #
# FSType="fs type" ex: nfs, smb                                               #
# Share="shared name folder" (if you use smb fs type only a shared point      #
#        ex: mail, but if you use a nfs fs, type a fully path for nfs         # 
#        ex: /var/mail)                                                       #
# Files="path of files or * to all files in shared folder                     #
###############################################################################
# Server

Server=server
User=root
Password=server_senha
FSType=nfs
Share=/etc
Share=/local
Share=/usr
Files=/tmp /var /local
##########################################################################################################################################


PPs: aceito ideias e desculpem meu pobre ingles....

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]