Categoria script

Script Backup Power Shell e 7z

Segue um script funcional e eficiente para backup local usando o power shell e 7z

 

# Caminho do executável 7-Zip
$SevenZip = "C:\Program Files\7-Zip\7z.exe"

# Diretórios de origem (adicione quantos quiser)
$SourceDirs = @(
"C:\sistema",
"D:\DFS\storage"
)

# Diretório de destino do backup
$BackupDir = "D:\Backup_Local"

# Número de backups a manter
$KeepBackups = 4

# Nome do arquivo de backup com data
$Date = Get-Date -Format "yyyy-MM-dd"
$BackupFile = Join-Path $BackupDir "Backup_$Date.7z"

# -------------------------------------------------
# Verifica e encerra qualquer processo 7z.exe ativo
# -------------------------------------------------
$SevenZipProcesses = Get-Process -Name "7z" -ErrorAction SilentlyContinue
if ($SevenZipProcesses) {
Write-Host "Finalizando processos 7z.exe em execução..."
$SevenZipProcesses | ForEach-Object { Stop-Process -Id $_.Id -Force }
}

# Cria o diretório de destino se não existir
if (!(Test-Path $BackupDir)) {
New-Item -ItemType Directory -Path $BackupDir | Out-Null
}

# Cria o backup (agora passando os diretórios como array)
& "$SevenZip" a -t7z -mx9 "$BackupFile" @SourceDirs

# Limpeza: mantém apenas os últimos $KeepBackups arquivos
$Backups = Get-ChildItem -Path $BackupDir -Filter "Backup_*.7z" | Sort-Object LastWriteTime -Descending

if ($Backups.Count -gt $KeepBackups) {
$OldBackups = $Backups | Select-Object -Skip $KeepBackups
foreach ($Old in $OldBackups) {
Remove-Item $Old.FullName -Force
}
}

 

Script para automatizar atualização do Debian

Olá, segue o script simples para agendar mensálmente atualização de sistemas operacionais baseado em Debian, serve para Ubuntu também.

  • Criar diretório de scripts ( boa prática )
mkdir -p /etc/scripts
cd /etc/scripts
  • Criar script e testar. 
vim autoupdate.sh

#!/bin/bash
apt clean
apt --fix-broken install
apt autoremove
apt install -f
apt update && apt upgrade -y
apt dist-upgrade -y

Ps. Não esquecer de colocar o arquivo como modo de execução: chmod +x autoupdate.sh

  • Agendar Script no Cron
crontab -e
* * 1 * * /etc/scripts/autoupdate.sh

 

Script bat Backup Robocopy

Script que utilizo para realizar backup

@echo off
set day=%date:~0,2%
set month=%date:~3,2%
set year=%date:~6,4%

robocopy D:\Arquivos f:\Arquivos /xjd /e /r:0 /w:0 /xa:sh /z /xd DfsrPrivate /xd $Recycle.Bin /LOG:c:\log_backup\%year%-%month%-%day%.log /TEE
robocopy D:\BKP_ERP f:\BKP_ERP /xjd /e /r:0 /w:0 /xa:sh /z /xd DfsrPrivate /xd $Recycle.Bin /LOG:c:\log_backup\%year%-%month%-%day%.log /TEE

Explicando paramentos

/xjd – Excluis Pontos de Junções do Windows Ex: “Minhas Músicas”

/e – Subdiretórios

/r:0 – Em caso de repete 0 vezes

/w:0 – Em caso erro aguardar 0 segundos

/xa:sh – Não copia arquivos ocultos nem de sistema

/z – Modo reinicializavel, caso esteja copiando uma arquivo muito grande, ao reiniciar o script o backup continua de onde parou

/xd – Exclui o diretório especificado

/LOG – Salva o arquivo de Log com a data do dia da execução

 

 

Script VBS forçar Logoff de Usuário Windows Fora do horário autorizado

Esse script executa o logoff do usuário caso tente efetuar o login fora do horário autorizado, o respectivo script encontra-se configurado para efetuar o logoff entre 12:00 e 13:30

Dim objShell
Set objShell = WScript.CreateObject (“WScript.shell”)

saida = “12:00”
retorno = “13:30”

dim i
i=1

Do While i = 1
if hr >= saida AND hr <= retorno Then
CreateObject(“WScript.Shell”).Run “\\zeus\NETLOGON\miller.hta”, 1, True
wscript.sleep 5000
objShell.run “C:\Windows\System32\rundll32.exe user32.dll,LockWorkStation”
end if
hr = FormatDateTime(now, 4)
wscript.sleep 1000
Loop

Script Backup Mikrotik Via E-mail

Script para backup mikrotik enviando por e-mail usando o Gmail

Criar uma conta no G-Mail, Permitir acesso a Dispositivos menos Seguros

Configurar NTP Clinet

Configurar uma conta de e-mail

Agendar uma tarefa, nesse cado 5 dias.

Criar um Script

/system ntp client
set enabled=yes primary-ntp=200.160.0.8 secondary-ntp=200.189.40.8

/tool e-mail
set address=smtp.gmail.com from=cuidadodigitalgyn@gmail.com password=******** \
port=587 start-tls=yes user=cuidadodigitalgyn

/system scheduler
add interval=5d name=run_backup on-event=backup policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
start-date=oct/04/2019 start-time=18:00:00

/system script
add dont-require-permissions=no name=backup owner=admin policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=”/\
export file=backup\r\
\n:log info message=\”Enviando backup por e-mail\”\r\
\n:delay 5s\r\
\n:global data [/system clock get date]\r\
\n:global hora [/system clock get time]\r\
\n:global nome [/system identity get name]\r\
\n/tool e-mail send to=\”contato@cuidadodigital.com.br\” subject=\”Backup_\
\$nome\” body=\”\” file=\”backup.rsc\””

Migrando e-mails entre provedores com ImapSync (Script)

Muitas vezes aparecem a árdua tarefa de ter de migrar várias caixas postais de um mesmo domínio entre provedores diferentes, para essa tarefa usamos o Imap Sync que pode tanto ser usado um à um ou via script otimizando a tarefa. Ler mais

Script de Link Backup Linux

 

Script Link backup Linux

linux-tutorial-header

Ler mais

Script para apagar arquivos antigos por tempo data Windows

Script vbs para apagar arquivos antigos por dias no windows.

Ler mais

[script] Script bat backup banco de dados SQLServer

Script bat para backup de banco de dados do SQLServer

Ler mais

[script] Resetar licenças terminal server

Script para resetar banco de dados do terminal server

Ler mais