Zálohování
Zálohování
Příkaz zálohy je k dispozici z menu "Soubor"

Umístění zálohy
Umístění záloh se nastavuje v Nastavení aplikace. Standardní nastavení je %APPDATA%\LesmaDb\Zalohy.
Záloha se pojmenovává JmenoDatabase_YYYYMMDD_HHMMSSDD.bak
Nastavení zálohování
Nastavení zálohování se nastavuje v Nastavení aplikace.
Možnosti zálohování:
- Zálohovat při ukončení aplikace.
- Zálohovat plánovaně. Plánované zálohování je omezeno pouze na běh aplikace. Pokud aplikace neběží, záloha se neprovede.

- Cesta pro zálohy: umístění záloh.
- Zálohovat při ukončení aplikace: ano/ne, výchozí stav Ano
- Zálohovat podle plánu: Pokud je nastaveno zálohování podle plánu, aplikace, pokud běží, spustí zálohování databáze v nastavený čas (Plánovaný čas zálohy). Čas se nastavuje ve formátu h:m:s. Mimo tento způsob zálohování, při kterém je nutné, aby aplikace běžela, je možné využít službu plánovače úloh a spouštět zálohy nezávisle na aplikaci.
- Prefix jména zálohy: před jméno zálohy se umístí prefix. Podle tohoto je možné rozlišit zálohy v jednom umístění, například pokud je kopírujete na centrální místo.
- Mazat zálohy starší než: aby se nehromadily staré soubory záloh, po každé záloze se odstraní starší soubory záloh. Porovnává se podle času vniku.
Script po provedení zálohy
Script pro provedení zálohy se provede po úspěšném provedení zálohy. Je jej možné použít například pro kopírování záloh na externí disk nebo na síťové úložiště. Použití je stejné jako v případě scriptů před a po importu a scriptů před a po exportu.
Příklad scriptu pomocí cmd
copy "%programData%\LesmaDb\Zalohy\*.bak" "\\server\cesta\k\zaloze" /y /l
Uložte tento řádek do souboru s příponou cmd,
Příklad pomocí cmd a nástroje robocopy, který umožní synchronizovat složky
Tento script zkopíruje a data z lokálního místa na server a provede synchronizaci, tedy odstraní na serveru soubory, které již nejsou na lokálním úložišti.
robocopy "%programData%\LesmaDb\Zalohy\*" "\\server\cesta\k\zaloze" *.bak /MIR
Uložte tento řádek do souboru s příponou cmd,
Příklad scriptu pomocí PowerShellu
copy-item -Path "$env:ProgramData\LesmaDb\Zalohy\*.bak" -Destination "\\server\cesta\k\zaloze" -Force
Uložte do soubory třeba copy-zaloha.ps1
Příklad scriptu, který ponechá 10 posledních záloh a zbytek nahraje na server
$Folder = "$env:ProgramData\LesmaDb\Zalohy"
if (!(Test-Path $Folder)) {
Write-Error "Složka neexistuje: $Folder"
exit 1
}
Get-ChildItem -Path $Folder -File -Filter "*.bak" |
Sort-Object LastWriteTime -Descending |
Select-Object -Skip 10 |
Remove-Item -Force
robocopy.exe "$env:ProgramData\LesmaDb\Zalohy\" "\\server\cesta\k\zaloze\" *.bak /MIR
Uložte tento řádek do souboru s příponou ps1.