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

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

RES: [shell-script] Script de Back-UP


From: Anderson Deluiz Santos
Subject: RES: [shell-script] Script de Back-UP
Date: Thu, 31 Jul 2003 10:21:45 -0300

Porque não usa o tar com as opções -X <exclude-file> e -T <include-file>
???

-----Mensagem original-----
De: Maurilio N. - Hotmail [mailto:address@hidden] 
Enviada em: quarta-feira, 30 de julho de 2003 20:14
Para: address@hidden
Assunto: [shell-script] Script de Back-UP


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]



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação,
como perl, C etc. Quem insistir em não seguir esta regra será moderado
sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 




reply via email to

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