Skip to content

Releases: kmwoley/restic-windows-backup

1.8

Choose a tag to compare

@kmwoley kmwoley released this 21 Feb 06:01
e9241c0

Summary

  • New features

    • Added update.ps1 which makes updating restic-windows-backup installations easier.
    • Added the ability to run custom actions at the start and end of the script execution. Can be used to invoke healthchecks or run custom scripts. Look at config_sample.ps1 for examples.
  • Bug fixes

    • Explicitly test the backup source media for VSS support instead of assuming it is or is not supported
    • Install script sets Task Scheduler user LogonType correctly, fixing #40
    • Error checking of restic.exe results fixed (was broken by release 1.7.1)

Full Changelog: 1.7.1...1.8

1.7.1

Choose a tag to compare

@kmwoley kmwoley released this 04 Feb 05:01
6f3c31b

Summary

  • (Optionally) prevent backup & maintenance while on a metered network connection. By default, backups will occur while on a metered network connection. To disable backups over metered network connections, set $BackupOnMeteredNetwork = $false in config.ps1
  • Added $GlobalParameters = @() configuration variable, which will apply additional configuration parameters every time restic.exe is run. This is useful to add options for different types of backend targets.
  • Added $SelfUpdateEnabled = $true configuration variable, which can be used to disable restic.exe from automatically updating to the latest version when maintenance is run. To disable self update, set $SelfUpdateEnabled = $false in config.ps1
     

What's Changed

  • Add optional configuration options for additional parameters to resti… by @woelfisch in #96
  • Add feature to control backups on metered connections by @innovara in #108

New Contributors

Full Changelog: 1.7...1.7.1

1.7

1.7

Choose a tag to compare

@kmwoley kmwoley released this 26 Jan 01:46

Summary

Improved support for PowerShell 7, and email is now sent using Send-MailKitMessage. The install.ps1 script will install NuGet and the Send-MailKitMessage module.

Upgrade Warning - Future Breaking Change
This release deprecates the following secrets.ps1 variables:

  • $PSEmailServer is replaced by $ResticEmailServer
  • $ResticEmailConfig is replaced by $ResticEmailPort

In a future release, $ResticEmailServer and $ResticEmailPort will be required. This release will still work if the deprecated variables are defined.

What's Changed

New Contributors

Full Changelog: 1.6...1.7

1.6

1.6

Choose a tag to compare

@kmwoley kmwoley released this 15 Jan 06:48
be5e8ea

Separated backup and maintenance execution loops, including sending separate emails for backup and maintenance reports. This allows for a maintenance failure not to cause a backup to be re-run, and vice-versa. This makes failures take a shorter time to resolve.

Logfiles now are formatted as *.backup.log.txt and *.maintenance.log.txt

Fixes

  • Fixed issue #60, removing duplicate exclude lines
  • Fixed several errors where functions would return incorrect success/failure results due to PowerShell's return value semantics

Enhancements

  • Updated installer to download v 0.15.0
  • Installer will 'self-update' the Restic binary
  • Maintenance will 'self-update' the Restic binary
  • Added a configuration point for extra / additional parameters to be passed to the backup command ($AdditionalBackupParameters)

Full Changelog: 1.5...1.6

1.5

1.5

Choose a tag to compare

@kmwoley kmwoley released this 11 Sep 12:48
99cce23

Added support for backing up removable drives (i.e. external USB disks). It's now possible to define a backup source by it's Volume label, device Serial Number, or the hardware Name.

WARNING If you have been previously backing up multiple drives, the default forget policy was likely pruning backup sets too aggressively and could lead to data loss. You must update your $SnapshotRetentionPolicy to include @("--group-by", "host,tags", ... to avoid pruning an entire drive's contents inadvertently!

Fixes

  • Updated default snapshot forget/prune retention policy to group by "host,tags" to prevent major data loss. Only configurations with multiple $BackupSources are impacted by this change.
  • Added tags to each backup source to support grouping by tags. For existing backup sets, this change will result in a slightly longer backup the first time this updated script is run.

Enhancements

  • External, removable disk drives (i.e. USB hard drives) can be identified by their Volume Label, Serial Number, or Device Name. For example, if you have an external device with the Volume Label "MY BOOK", you can define a backup source as $BackupSources["MY BOOK"]. I would recommend using the device serial number to identify external drives to backup, which you can find using the Powershell get-disk command.
  • Add the ability to $IgnoreMissingBackupSources. To make sure that errors are not thrown if the device is not present, there is now an option to ignore error reporting when a folder and entire backup source are missing. When $true, missing external drives or folders don't produce errors. When $null or $false, missing drives and/or folders result in an error. The default is set to $false as not to silently fail backing up a source.
  • Updated install script to download Restic 0.12.1

1.4.1

Choose a tag to compare

@kmwoley kmwoley released this 10 May 04:04
e826c32

Bugfix release.

Fixes

  • Improved URL parsing so that the internet connectivity check works if the URL doesn't provide a protocol
  • Add PowerShell 7.1 support to internet connectivity check

Enhancements

  • Setting $InternetTestAttempts to 0 will now bypass the internet connectivity checks entirely

1.4

1.4

Choose a tag to compare

@kmwoley kmwoley released this 25 Feb 05:57

Moved to using Restic's inbuilt filesystem shadow copy creation (VSS).

Breaking Change

local.exclude file changes that previously referenced the resticVSS directory will need to be changed to C:\ or the relevant root drive letter.

Other enhancements

  • Future snapshot grouping (and cleanup) will be better since the root-level folders included in the backup won't change (instead, the script targets the root drive letter instead of a list of folders under the drive letter).
  • Added the ability to set prune parameters via .\config.ps1, and defaulted the settings to --group-by host to clean up the aforementioned snapshot grouping & pruning.
  • Updated the windows.exclude to include additional directories (most notably, the Recycle Bin is no longer backed up)

1.3

1.3

Choose a tag to compare

@kmwoley kmwoley released this 23 Feb 05:07
15d0fc8

Improvements for Restic 0.12 compatibility.
Additional error logging.

1.2.1

Choose a tag to compare

@kmwoley kmwoley released this 08 Jun 16:52
eba7f4d
  • Internet connectivity test improvements
  • Add 32-bit support in the install.ps1
  • Misc. bugfixes

Additional maintenance & email configuration options

Choose a tag to compare

@kmwoley kmwoley released this 15 Feb 17:42
be35fd5

Users can now set the following variables to control sending emails on success and/or error conditions.
Users can now completely disable maintenance activities.

New config.ps1 variable defaults for these options:

$SnapshotMaintenanceEnabled = $true 
$SendEmailOnSuccess = $false
$SendEmailOnError = $true