/Robocoper

Simple backup tool based on Robocopy

Primary LanguagePowerShell

Robocoper

Windows backup CLI tool based on Robocopy

Powershell

Robocoper

Features

  • Backup a batch of sources by one tool
  • Delete backups older than N days
  • Send email about work
  • Save compressed log

Tested on

Requirements

Preparation

  • Change settings in email.json:
$EmailTo = 'example@example.com'
$EmailFrom = 'example@example.com'
$EmailPassword = '$eCr3tP@$sW0Rd'
$EmailSmtpServer = 'smtp.example.com'
$EmailSmtpPort = 587
  • Uncomment this line to use TLS not SSL for e-mail

[System.Net.ServicePointManager]::SecurityProtocol = "Tls, TLS11, TLS12"

  • Turn ON e-mail notifications

$SendEmail = $true

  • Turn ON log saving

$SaveLog = $true

$LogDir = "D:\Backup\logs"

Usage

In array $Backups insert line(s) for backup

, @('Name', 'Source', 'Destination', 'DTL', 'Parameters')

Option Explanation Example Default value
Name Backup name My code
Source Backup from C:\code
Destination Backup to D:\Backup
DTL Days to live[1] 10 0
Parameters Robocopy parameters Read Robocopy syntax $DefaultParameters

Note: disable backups by # at the begin of line or <# ... #> for multiline.

[1] - 'Days to live' means that new backup will be in Destination\NAME_YYMMDD_HHMMSS. After it all folders and files older than DTL days will be deleted in Destination. If DTL is "0" backup will be in Destination with default or special parameters.