Advertisement
Guest User

fd

a guest
Oct 30th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.35 KB | None | 0 0
  1. #!/bin/bash
  2. #Via backup incremental
  3.  
  4. #Log do backup gerado
  5. LOGDIRECTORY=/var/log
  6.  
  7. #Variáveis para a montagem do HD.
  8. DEVHD=/dev/sdb1
  9. DEVDIRECTORY=/mnt/Backup/
  10.  
  11. #Variaveis de montagem Servidor de Arquivos.
  12. #Exemplo
  13. IP=192.168.7.60
  14. MOUNTINGDIRECTORY=/mnt/DADOS/
  15. FOLDERNETWORK=DADOS
  16. USER=USER
  17. PASS=PASSWORD
  18. UID=UID_USER
  19. GID=GID_USER
  20.  
  21. #Cria log do script de Backup.
  22. echo "DATA: $(date +%d-%m-%Y)" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  23.  
  24. #Montando o HD Externo para o Backup.
  25. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  26. echo "Log das Montagens dos Dispositivos" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  27. mount $DEVHD $DEVDIRECTORY >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  28.  
  29. #Controle de Erros.
  30. if [ $? == 0 ]
  31. then
  32. echo "HD Externo montando com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  33. else
  34. echo "HD Externo NÃO montando com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  35. fi
  36.  
  37. #Montando o Servidor de Arquivos para o Backup.
  38. mount.cifs //$IP/$FOLDERNETWORK $MOUNTINGDIRECTORY -o user=$USER,password=$PASS,uid=$UID,gid=$GID >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  39.  
  40. #Controle de Erros.
  41. if [ $? == 0 ]
  42. then
  43. echo "Pasta na Rede montanda com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  44. else
  45. echo "Pasta na Rede NÃO montanda com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  46. fi
  47.  
  48. #Local do backup
  49. DAILYDIRECTORY=/mnt/Backup/Diario
  50.  
  51. #Local backup gerado
  52. BASEDIRECTORY=/mnt/DADOS
  53.  
  54. #Cria pasta do Backup do dia.
  55. mkdir $DAILYDIRECTORY/$(date +%d-%m-%Y)
  56.  
  57. #Cria o arquivo da lista de arquivos no backup.
  58. echo "DATA: $(date +%d-%m-%Y)" >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt
  59.  
  60. #Localiza e copia os arquivos alterados no dia.
  61. #Gera lista de arquivos copiados do dia.
  62. echo "" >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt
  63. echo "Lista de Arquivos Backupeados" >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt
  64. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  65. echo "Log dos Arquivos Backupeados" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  66. echo "Aguarde backup sendo efetuado."
  67. echo "Esta parte do processo pode demorar mais de 2 horas..."
  68. find $BASEDIRECTORY -type f -newermt $(date +%Y-%m-%d) -exec cp -Raprv --parents {} $DAILYDIRECTORY/$(date +%d-%m-%Y)/ \; >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt
  69.  
  70. #Cria o pacote ".tar.gz".
  71. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  72. echo "Log da Compactação" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  73. tar -czvf $DAILYDIRECTORY/$(date +%d-%m-%Y)/backup-$(date +%d-%m-%Y).tar $DAILYDIRECTORY/$(date +%d-%m-%Y)/ >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  74.  
  75. #Controle de Erros.
  76. if [ $? == 0 ]
  77. then
  78. echo "Arquivo '.tar' criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  79. else
  80. echo "Arquivo '.tar' NÃO criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  81. fi
  82.  
  83. bzip2 $DAILYDIRECTORY/$(date +%d-%m-%Y)/backup-$(date +%d-%m-%Y).tar >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  84.  
  85. #Controle de Erros.
  86. if [ $? == 0 ]
  87. then
  88. echo "Arquivo '.tar.bz' criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  89. else
  90. echo "Arquivo '.tar.bz' NÃO criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  91. fi
  92.  
  93. #Efetua copia para a pasta raiz.
  94. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log4
  95. echo "Log da Copia" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  96. cp -v $DAILYDIRECTORY/$(date +%d-%m-%Y)/backup-$(date +%d-%m-%Y).tar.bz $DAILYDIRECTORY/ >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  97.  
  98. #Controle de Erros.
  99. if [ $? == 0 ]
  100. then
  101. echo "Copia do arquivo '.tar.bz' efetuada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  102. else
  103. echo "Copia do arquivo '.tar.bz' NÃO efetuada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  104. fi
  105.  
  106. #Removendo pasta do Backup (Deixando somente o pacote ".tar.bz").
  107. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  108. echo "Log da Limpeza" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  109. rm -vRf $DAILYDIRECTORY/$(date +%d-%m-%Y)/ >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  110.  
  111. #Remover backup de 30 dias atrás.
  112. rm -vRf $DAILYDIRECTORY/backup-$(date +%d-%m-%Y -d "30 days ago").tar.bz >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  113.  
  114. #HD Externo para o Backup.
  115. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  116. echo "Log das Desmontagens dos Dispositivos" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  117. umount $DEVDIRECTORY >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  118.  
  119. #Controle de Erros.
  120. if [ $? == 0 ]
  121. then
  122. echo "HD Externo desmontado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  123. else
  124. echo "HD Externo NÃO desmontado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  125. fi
  126.  
  127. #Montando o Servidor de Arquivos para o Backup.
  128. umount $MOUNTINGDIRECTORY >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  129.  
  130. #Controle de Erros.
  131. if [ $? == 0 ]
  132. then
  133. echo "Pasta na Rede desmontada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  134. else
  135. echo "Pasta na Rede NÃO desmontada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
  136. fi
  137.  
  138. #FimScript
  139. echo "Log armazenado em: $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log"
  140. echo "Rotina Finalizada! "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement