Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Script:
# Definindo variáveis
$sourceFolder = "C:\sistemas"
$backupFile = "C:\backup\sistemas_backup.zip"
$sftpServer = "192.168.0.100"
$sftpUser = "ricardo"
$sftpPassword = "Teste@123"
$remotePath = "/backup/sistemas_backup.zip"
# Criando o diretório de backup se não existir
if (-Not (Test-Path -Path "C:\backup")) {
New-Item -ItemType Directory -Path "C:\backup"
}
# Compactando a pasta
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourceFolder, $backupFile)
# Instalando o módulo Posh-SSH se necessário
if (-Not (Get-Module -ListAvailable -Name Posh-SSH)) {
Install-Module -Name Posh-SSH -Force -Scope CurrentUser
}
# Importando o módulo Posh-SSH
Import-Module Posh-SSH
# Criando uma sessão SFTP e enviando o arquivo
$session = New-SFTPSession -ComputerName $sftpServer -Credential (New-Object System.Management.Automation.PSCredential($sftpUser, (ConvertTo-SecureString $sftpPassword -AsPlainText -Force)))
Set-SFTPFile -SessionId $session.SessionId -LocalFile $backupFile -RemotePath $remotePath
# Fechando a sessão SFTP
Remove-SFTPSession -SessionId $session.SessionId
Write-Host "Backup e transferência concluídos com sucesso."
Como Executar o Script:
1. Abra o PowerShell como Administrador.
2. Copie o script acima e cole em um arquivo com extensão .ps1
, por exemplo, backup_sftp.ps1
.
3. Execute o script no PowerShell utilizando o comando: .\backup_sftp.ps1
.
4. Certifique-se de que o módulo Posh-SSH
está instalado. O script tentará instalá-lo automaticamente, mas pode ser necessário permitir a execução de scripts não assinados. Para isso, execute Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
antes de executar o script.