Mudanças entre as edições de "BACKUP CRON"

De Tek-System Wiki
Ir para navegação Ir para pesquisar
Linha 10: Linha 10:


  nano backup.sh
  nano backup.sh
<nowiki>
#!/bin/bash
##### Variaveis
declare DATA=`date +%a`
declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`
declare DIR_BACKUP="/opt/backups"  #  Define o diretório onde sera salvo o backup
declare DIR_ARQUIVOS="/home/teksystem/Documentos/magento2-ready/magento2-docker-compose-master/" #Local onde estao os arquivos a serem feito o backup
declare DIR_DEST_BACKUP=$DIR_BACKUP
declare CLIENTE="TESTE"
declare TEMPO_AGUARDAR="00:00:30" # Tempo que ficara aguardando o arquivo ser gerado.
#                      HH:MM:SS
#
# Configurações de FTP
#
HOSTFTP=ts.teksystem.com.br  # Endereco servidor SFTP
USERFTP=bkp_google_cloud      # USUARIO
PASSFTP=tksys5700            # SENHA
PORTAFTP=2222                # Porta de conexao
#
# Rotinas secundarias
#
mkdir -p $DIR_BACKUP/$DATA    # Cria o diretório de backup diário
echo "BACKUP - Tek-System Magento"
echo "Iniciando backup"
#
#APAGA LOG ANTERIOR
#
rm $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log
#
#
# função que executa o backup
executa_backup(){
echo "================================================================"
echo "="
echo "=  Inicio da geracao do arquivo compactado em" $DATA_ATUAL
echo "=  Pasta dos arquivos:" $DIR_ARQUIVOS
echo "================================================================"
echo "="
echo " "
#Faz a compactacao da pasta
tar -zcvf $DIR_BACKUP/$DATA/$CLIENTE"_backup_"$DATA".tar.gz" /$DIR_ARQUIVOS
declare CONT=0
declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`
echo "================================================================"
echo "="
echo "=  FIM da geracao do arquivo compactado em" $DATA_ATUAL
echo "="
echo "================================================================"
echo "="
echo " "
}
executa_backup >> $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log #1>> $DIR_BACKUP/$DATA/$CLIENTE"_backup"$DATA.log
#Pausa por Segundos
echo "AGUARDE!! ARQUIVO SENDO GERADO!!!"
./contador.sh $TEMPO_AGUARDAR
declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`
executa_ftp(){
#Inicia a tranferencia via FTP
echo "================================================================"
echo "="
echo "=  INICIO do envio via SFTP "$DATA_ATUAL
echo "="
echo "================================================================"
echo "="
echo " "
sshpass -p $PASSFTP sftp -P $PORTAFTP $USERFTP@$HOSTFTP <<ENDSHERE
lcd $DIR_BACKUP/$DATA
put $CLIENTE'_backup_'$DATA'.tar.gz'
put $CLIENTE"_LOG".log
quit
ENDSHERE
declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`
echo "================================================================"
echo "="
echo "=  FIM do envio via SFTP "$DATA_ATUAL
echo "="
echo "================================================================"
echo "="
echo " "
}
executa_ftp >> $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log >> $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log
</nowiki>


'''Dentro de script criar dois arquivos executaveis backup.sh e contador.sh''
'''Dentro de script criar dois arquivos executaveis backup.sh e contador.sh''

Edição das 18h27min de 8 de julho de 2019

1- Pegar os scripts em: dataserver/BKP_Google_Cloud

2 - Dentro de opt criar pastas backups e scripts

mkdir backups
mkdir scripts

Dentro da pasta scripts criar o arquivo: backup.sh

nano backup.sh
#!/bin/bash
##### Variaveis
declare DATA=`date +%a`
declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`
declare DIR_BACKUP="/opt/backups"  #  Define o diretório onde sera salvo o backup
declare DIR_ARQUIVOS="/home/teksystem/Documentos/magento2-ready/magento2-docker-compose-master/" #Local onde estao os arquivos a serem feito o backup
declare DIR_DEST_BACKUP=$DIR_BACKUP
declare CLIENTE="TESTE"
declare TEMPO_AGUARDAR="00:00:30" # Tempo que ficara aguardando o arquivo ser gerado.
#                       HH:MM:SS
#
# Configurações de FTP
#
HOSTFTP=ts.teksystem.com.br   # Endereco servidor SFTP
USERFTP=bkp_google_cloud      # USUARIO
PASSFTP=tksys5700             # SENHA
PORTAFTP=2222                 # Porta de conexao
#
# Rotinas secundarias
#
mkdir -p $DIR_BACKUP/$DATA    # Cria o diretório de backup diário
echo "BACKUP - Tek-System Magento"
echo "Iniciando backup"
#
#APAGA LOG ANTERIOR
#
rm $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log
#
#
# função que executa o backup
executa_backup(){
echo "================================================================"
echo "="
echo "=   Inicio da geracao do arquivo compactado em" $DATA_ATUAL
echo "=   Pasta dos arquivos:" $DIR_ARQUIVOS
echo "================================================================"
echo "="
echo " "
#Faz a compactacao da pasta
tar -zcvf $DIR_BACKUP/$DATA/$CLIENTE"_backup_"$DATA".tar.gz" /$DIR_ARQUIVOS

declare CONT=0

declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`
echo "================================================================"
echo "="
echo "=   FIM da geracao do arquivo compactado em" $DATA_ATUAL
echo "="
echo "================================================================"
echo "="
echo " "
}

executa_backup >> $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log #1>> $DIR_BACKUP/$DATA/$CLIENTE"_backup"$DATA.log

#Pausa por Segundos
echo "AGUARDE!! ARQUIVO SENDO GERADO!!!"
./contador.sh $TEMPO_AGUARDAR

declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`

executa_ftp(){
#Inicia a tranferencia via FTP
echo "================================================================"
echo "="
echo "=   INICIO do envio via SFTP "$DATA_ATUAL
echo "="
echo "================================================================"
echo "="
echo " "
sshpass -p $PASSFTP sftp -P $PORTAFTP $USERFTP@$HOSTFTP <<ENDSHERE
lcd $DIR_BACKUP/$DATA
put $CLIENTE'_backup_'$DATA'.tar.gz'
put $CLIENTE"_LOG".log
quit
ENDSHERE
declare DATA_ATUAL=`date +%d-%m-%Y_%H:%M`
echo "================================================================"
echo "="
echo "=   FIM do envio via SFTP "$DATA_ATUAL
echo "="
echo "================================================================"
echo "="
echo " "
}
executa_ftp >> $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log >> $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log
 

'Dentro de script criar dois arquivos executaveis backup.sh e contador.sh

3 - Rodar o comando

 chmod +x backup.sh 

e

chmod +x contador.sh 

Para torna-los executaveis.

Trocar o caminho do arquivo backup.sh referente a base de dados do e-commerce.

Instalar a biblioteca:

apt-get install sshpass

Tente rodar o comando para escrever no arquivo confi:

nano ~/.ssh/config

e escreva

Host ts.teksystem.com.br
   StrictHostKeyChecking no

Caso dê erro, crie o arquivo .ssh e refaça o item acima. Criar:

mkdir ~/.ssh

Crontab: Backup todo dia as 00:00 ( Horario do servidor)

0 0 * * * /opt/scripts/backup.sh

Reiniciar o cron:

service cron status
service cron stop
service cron start

Caso não tenha o cron, instalar usando:

apt-get install cron

Para editar o editor de texto, usar o nano com:

select-editor