Implementando servidor de aplicações PHP utilizando Zend Framework

Esse mega artigo aborda todos os conceitos técnicos e práticos para a implementação de um servidor de aplicações PHP utilizando framework Zend, incluindo detecção de intrusão e entre outros conceitos. Vale a pena conferir.

[ Hits: 133.955 ]

Por: José Cleydson Ferreira da Silva em 27/04/2010


Rotinas de backup



A prática do backup é de extrema importância há casos em que há a necessidade de se utilizar cópias de arquivos, tabelas de banco de dados e outros mais . Para fazer essa rotina de backup utilizaremos o utilitário nativo dos sistemas *unix para fazer o agendamento dos dias, horas em que o servidor automaticamente irá executar a rotina.

O script consistirá em copiar o diretório onde estão as aplicações (/home/usuário/aplicativos), os arquivos de configuração e diretórios compartilhados (/usr/share/Zend).

Abaixo segue um modelo de script simples para fazer o backup sendo importante entender, que ao implementar o servidor as bases de dados podem ou não estar no mesmo computador, portanto iremos mostrar os seguintes contextos de backup:

1. Base de dados Mysql
2. Aplicações php
3. Arquivos de Configuração
4. Diretório compartilhado /usr/share/Zend

Crie um arquivo com o nome backup no diretório /etc e de a permissão de execução abaixo segue o a implementação das rotinas de backup.

#!/bin/sh
echo '***' >> /var/log/backup.log
echo " Inicianado backup referente à `date`" >> /var/log/backup.log

#Variaveis
dia=`date +%d`
mes=`date +%b`
ano=`date +%y`
todosbancos=`mysql -u root -senha -s -e "show databases" | grep -v Database`
servidor=`hostname`;
arq_conf='/etc'
biblioteca='/usr/share/Zend'
phpids='/usr/share/phpids'
aplicacaoes='/home/usuario/aplicativos'
dirbackup='/home/usuario/backup' (Defina o seu diretório)
backupgeral='/home/usuario/backup_anterior' (Defina o seu diretório)

cd $dirbackup

#Limpa para fazer backup

rm *.sql
rm *.tar.gz

#Faz a cópia dos bancos e compacta

for db in $todosbancos
do
  mysqldump -u root -senha  --skip-extended-insert $db > $servidor-$db-$dia-$mes-$ano.sql
done


tar -czvf $servidor-$dia-$mes-$ano.tar.gz *.sql $arq_conf $biblioteca $phpids

#copia para pasta arquivo anterior

cp -f *.tar.gz $backupgeral

# Enviar para outro servidor via FTP
curl -T $servidor-$dia-$mes-$ano.tar.gz ftp://usuario:[email protected]/diretorio/$servidor/

echo " Terminando backup referente à `date`" >> /var/log/backup.log

Para fazer o agendamento de execução da rotinas execute o comando no terminal:

# crontab -e

Forma de configurar:

# m h  dom mon dow   command
0 0 *** /etc/backup

Significado das abreviações do crontab:
  • m - Minutos de 0-59
  • h - Horas de 00 às 23
  • dom - Dia do mês 0-31
  • mon - Mês de 0-12
  • dow - Dia da semana 0-7
  • Comand - Local onde se sencontra o script (/etc/init.d/backup)

Página anterior     Próxima página

Páginas do artigo
   1. Índice
   2. Introdução
   3. Sobre Zend Framework
   4. Particionamento
   5. Instalação do Servidor Web
   6. Habilitando o módulo mod_rewrite
   7. Habilitando o módulo mod_userdir
   8. Instalando Zend Framework
   9. Testando Zend Framework
   10. Padrões de diretórios para aplicações do Zend Framework
   11. Script para a criar a estrutura de diretório do MVC
   12. Configurando restrição de acesso
   13. Configurando Virtual Host
   14. Padronizando o formato dos registros em arquivos de log
   15. Suporte a conexões seguras com SSL
   16. Configurando exibição de erros
   17. Liberando acesso a ftp
   18. Rotinas de backup
   19. Ferramenta para detecção de intrusão (opcional)
   20. Acelerando o PHP (opcional)
   21. Considerações finais
Outros artigos deste autor

Implementando rotas estáticas no Linux com route

Bing: Medindo velocidade da conexão no Linux

Bioinformática - PhyML: alinhamento de sequências nucleotídicas em ambiente paralelo

Conheça tudo sobre os hardwares que compõem o seu computador com um simples comando

Cairo-Dock - Seu desktop Linux com cara de MAC

Leitura recomendada

Atualizando o Slackware com SlackGrade

Inclusão Digital

LinuxKidX

Instalando MetraTrader5 no Linux

Instalando e atualizando pacotes no Fedora em computadores sem internet

  
Comentários
[1] Comentário enviado por viniciusgnu em 27/04/2010 - 08:47h

Meu velho, como sempre está de parabéns! "Keep up with the good work"!
Abraço

[2] Comentário enviado por cleysinhonv em 27/04/2010 - 08:50h

Valeu Vinicius!

Como sempre "procurar" / "tentar" / "me esforçar" em publicar artigos completos que ajudem a comunidade como um todo!

[3] Comentário enviado por uberalles em 27/04/2010 - 11:00h

Que "putza" app server bacana!! Muito bem detalhado seu artigo e passo a passo.

[4] Comentário enviado por cleysinhonv em 27/04/2010 - 11:33h

Olá Andre Miguel,

Bacana né! Procurei Explicar de forma clara e detalhar o máximo possível! Acredito que este material irá ajudar muitas empresas e pessoas que queiram implemetar esse tipo de solução!

Um abraço!

[5] Comentário enviado por valterrezendeeng em 27/04/2010 - 13:04h

Muito Bom o Artigo
Bem Feito e completo

Parabéns !!!!


Abraço

[6] Comentário enviado por razgriz em 27/04/2010 - 13:10h

Belo artigo Kurumin, continue assim!

[7] Comentário enviado por cleysinhonv em 27/04/2010 - 13:16h

Olá valter! Olá Prof. RazGriz!

Obrigado! Fico grato e com sentimento de dever cumprido. Espero que esse artigo possa ajuda-los de alguma forma, utilize-o e indique-o a quem precisar!

Um abraço!


Contribuir com comentário