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.