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

De Tek-System Wiki
Ir para navegação Ir para pesquisar
Linha 11: Linha 11:
  nano backup.sh
  nano backup.sh


e
Conteudo do arquivo:
  #!/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
 


nano contador.sh





Edição das 18h25min 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

Conteudo do arquivo:

 #!/bin/bash
          1. 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.

  1. HH:MM:SS
  2. 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

  1. Rotinas secundarias

mkdir -p $DIR_BACKUP/$DATA # Cria o diretório de backup diário echo "BACKUP - Tek-System Magento" echo "Iniciando backup"

  1. APAGA LOG ANTERIOR

rm $DIR_BACKUP/$DATA/$CLIENTE"_LOG".log

  1. 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 " "

  1. 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

  1. Pausa por Segundos

echo "AGUARDE!! ARQUIVO SENDO GERADO!!!" ./contador.sh $TEMPO_AGUARDAR

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

executa_ftp(){

  1. 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