Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ########################################################
- # Name: BackupFirebird.ps1
- # Criador: Tácio Andrade
- # Criado: 07.08.2017
- # Modificado: 07.08.2017
- # Versão: 1.0
- # Descrição: Script de backup dos bancos do Firebird
- ########################################################
- # Variaveis do usuario e senha do firebird
- $FIREBIRD="C:\Program Files\Firebird\Firebird_2_5\bin\"
- $USER="SYSDBA"
- $PASSWORD="masterkey"
- $7Z="C:\Program Files\7-Zip"
- # Variaveis de arquivos
- $LOG="D:\BackupFirebird.log"
- $BANCOS="D:\sgbd\"
- $BACKUP="D:\backup\"+ (Get-Date -format dd) + "\"
- # Variaveis cloud
- $MEGA="C:\Program Files\megatools"
- $MEGADIR="/Root/backup/"+ (Get-Date -format dd)
- # Variaveis email
- $MAILUSER= "email@yahoo.com"
- $MAILPASS= "senha"
- rm $LOG
- # Inicia o backup
- $TEXTO="Backup iniciado as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- # Remove backup antigo
- rm $BACKUP*
- # Executa o backup dos bancos
- cd $FIREBIRD
- #$dir = Get-ChildItem -path $BANCOS
- foreach ($i in get-content D:\bancos.txt) {
- $TEXTO="Backup do banco $i iniciado as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- # Otimiza a base de dados
- .\gfix -sweep -user $USER -password $PASSWORD $BANCOS$i
- # Corrige os erros da base de dados se existirem
- #.\gfix -mend -full -user $USER -password $PASSWORD $BANCOS$i
- # Faz o backup da base
- .\gbak.exe -b -v -user $USER -pas $PASSWORD -se localhost/3050:service_mgr $BANCOS$i "$BACKUP/$i.GBK"
- $TEXTO="Backup do banco $i finalizado as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- }
- # Executa a compressão dos bancos
- cd $7Z
- $dir = Get-ChildItem -path $BACKUP
- foreach ($i in $dir) {
- $TEXTO="Compressão do banco $i iniciado as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- .\7z.exe a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on $BACKUP$i.7z $BACKUP$i
- $TEXTO="Compressão do banco $i finalizado as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- }
- # Remove os arquivos de backup
- rm $BACKUP*GBK
- # Envia o backup pra nuvem
- cd $MEGA
- # Remove arquivos antigos do mega
- .\megarm.exe $MEGADIR
- $TEXTO="Inicia envio dos bancos $i para o Mega as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- .\megamkdir.exe $MEGADIR
- .\megacopy.exe --no-progress --local $BACKUP --remote $MEGADIR
- $TEXTO="Finaliza envio dos bancos $i para o Mega as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- # Listar os backups
- Get-ChildItem -path $BACKUP | select Name,@{Name='Tamanho'; Expression= {$_.Length / 1mb}} >> $LOG
- # Finaliza o backup
- $TEXTO="Backup finalizado as "+ (Get-Date -format dd.MM.yyyy-HH:mm:ss)
- add-Content -Path $LOG -Value $TEXTO
- function Send-ToEmail([string]$email, [string]$attachmentpath){
- $message = new-object Net.Mail.MailMessage;
- $message.From = "email@yahoo.com";
- $message.To.Add($email);
- $message.Subject = "Backup Bancos CPC - Andro";
- $message.Body = "Segue o log do Backup";
- $attachment = New-Object Net.Mail.Attachment($attachmentpath);
- $message.Attachments.Add($attachment);
- $smtp = new-object Net.Mail.SmtpClient("smtp.mail.yahoo.com", "587");
- $smtp.EnableSSL = $true;
- $smtp.Credentials = New-Object System.Net.NetworkCredential($MAILUSER, $MAILPASS);
- $smtp.send($message);
- write-host "Mail Sent" ;
- $attachment.Dispose();
- }
- Send-ToEmail -email "email@gmail.com" -attachmentpath $LOG;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement