BACKUP CRON

De Tek-System Wiki
Revisão de 18h25min de 8 de julho de 2019 por Sergio Mendonça (discussão | contribs)
Ir para navegação Ir para pesquisar

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