Mudanças entre as edições de "BACKUP CRON"
Linha 11: | Linha 11: | ||
nano backup.sh | nano backup.sh | ||
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 | |||
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
- 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