Posted On January 20, 2020

PowerShell: Hobocopy Backup Software

kimconnect 0 comments
blog.KimConnect.com >> Codes >> PowerShell: Hobocopy Backup Software
# hobocopy-backup.ps1
# Note: this is a quick snippet to demonstrate the use of this utility.
# The good: this software can backup locked/open files using VSS, and its speed is impressive.
# The bad: "incremental" copy does not regenerate files that have been deleted at the destination


# Input variables
$source="C:\temp"
$destination="C:\tempcopy"
$logFolder="C:\logs"

# Autogen variables
$logFile="$logFolder\hobocopy-log-$(get-date -Format 'yyyy-MM-dd-hh-mm-ss').log"
$stateFile="$logFolder\hobocopy-statefile.log"
$hobocopyFullSwitches="/statefile=$stateFile /ignorepattern='System Volume Information|\$RECYCLE.BIN' /full /skipdenied /r /y"
$hobocopyIncrementalSwitches="/statefile=$stateFile /ignorepattern='System Volume Information|\$RECYCLE.BIN' /incremental /skipdenied /r /y"

# Include prerequisites
.{
if (!(get-command hobocopy)){
if (!(Get-Command choco.exe -ErrorAction SilentlyContinue)) {
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
}
choco install hobocopy -y;
}
}

if (test-path $stateFile){
$hobocopyCommand="hobocopy $source $destination $hobocopyIncrementalSwitches"
}else{
$hobocopyCommand="hobocopy $source $destination $hobocopyFullSwitches"
}
$output=invoke-expression $hobocopyCommand;

write-host $output
Add-Content $logFile $output;

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

PowerShell: How to Change Active Directory Username

$oldUsername='testUser' $newUsername='tUser' function changeUsername{ param( $oldUsername, $newUsername ) $domainName=$env:USERDNSDOMAIN $newUserPrincipleName="$newUsername@$domainName" try{ Set-ADUser $oldUsername -SamAccountName $newUsername…

Repair VSS in Windows 2008

net stop “System Event Notification Service”net stop “Background Intelligent Transfer Service”net stop “COM+ Event System”net…

PowerShell: Increase Default Windows 260-Character Paths Limit

Problem: Error when trying to rename files manually:'The source files name(s) are larger than is…