Storitev WKL Database Update
Storitev „WKL Database Update“ namešča podpisane pakete posodobitev podatkovnih zbirk, ne da bi tekel podatkovni prehod. Ravna enako kot modul za posodobitve v prehodu: pakete v vhodni mapi podatkovne zbirke preveri, naredi varnostno kopijo, jih namesti, napove in o tem poroča. Če uporabljate podatkovni prehod, te storitve ne potrebujete. Korake nastavitve opisuje Nameščanje posodobitev podatkovnih zbirk brez prehoda.
Sintaksa
msiexec /i Wkl.Data.Update-<različica>.msi [LASTNOST=vrednost]… [/qn] Wkl.Data.Update.exe <ukaz> [<id>] [argumenti] [--json]
Ukaze zaganjate na strežniku v ukaznem pozivu s skrbniškimi pravicami.
Parametri
Namestitveni paket
Wkl.Data.Update-<različica>.msi namesti program v C:\Program Files\Wkl\Database Update (samostojno
objavljen, zato strežnik ne potrebuje izvajalnega okolja .NET, in s ponudnikom za SQL Server), nastavi
storitev Windows Wkl.Data.Update s samodejnim zagonom in jo zažene. Paket je ločen od namestitvenega
programa podatkovnega prehoda.
| Lastnost | Privzeto | Pomen |
|---|---|---|
UPD_SERVICE_ACCOUNT | NT SERVICE\Wkl.Data.Update | Račun storitve: navidezni račun ali skupinsko upravljani račun storitve (DOMENA\ime$). Računa z geslom paket ne ponuja. Posodobitev račun ohrani |
UPD_REMOVE_DATA | – | 1 pri odstranitvi: izbriše tudi %ProgramData%\WKL\Database Update s konfiguracijami, nastavitvami in sporočili. Brez nje mapa ostane |
Ob namestitvi program (setup-host) ustvari spodnje mape z lastnimi pravicami in registrira vir
dogodkov WKL Database Update v dnevniku aplikacij. Pri odstranitvi vir spet odstrani.
Mape
Mape so nespremenljivo pod %ProgramData%\WKL\Database Update. Nobena ne podeduje pravic mape
%ProgramData%.
| Mapa | Vsebina | Pravice |
|---|---|---|
databases | Zaščitena konfiguracija vsake podatkovne zbirke, <id>.json, in nič drugega | Skrbniki in SYSTEM spreminjajo, račun storitve bere |
settings | Nastavitve delovanja vsake podatkovne zbirke, <id>.json | Skrbniki in SYSTEM spreminjajo, račun storitve spreminja |
log | Sporočila poti file, <LLLL-MM-DD>.jsonl | Skrbniki in SYSTEM spreminjajo, račun storitve spreminja |
Zaščitena konfiguracija
Datoteka <id>.json v mapi databases nastavi podatkovno zbirko. Zgradba in polja so enaka kot pri
modulu za posodobitve, s tremi razlikami:
- Prijava. Brez
connection.secretse storitev prijavi s svojim računom Windows (Integrated Security=Truevconnection.string); ta račun potrebuje v podatkovni zbirki pravice za spreminjanje zgradbe in za varnostno kopiranje. Zconnection.secretse prijavi s prijavo SQL izconnection.string, geslo pa vzame iz spremenljivke okolja ali datoteke (env:IME,file:POT). gatewayAliasnima učinka: aplikacije podatkovne zbirke ne dosežejo prek podatkovnega prehoda. Odprte seje starejših aplikacij storitev vidi prek same podatkovne zbirke.maildoloča poštni strežnik za potemail:server,port(privzeto25),fromin po željisecret(env:IME,file:POT). Vrata465so šifrirana od prvega bajta, vsa druga vrata zahtevajo STARTTLS. Nešifrirano storitev ne pošilja nikoli, potrdilo poštnega strežnika pa mora biti veljavno. Ssecretse prijavi z naslovom pošiljatelja kot uporabniškim imenom, brez njega pošilja brez prijave, na primer prek notranjega posredniškega strežnika. Modul za posodobitve v prehodu namesto tega uporablja `Gateway:Mail`.
"mail": { "server": "smtp.example.com", "port": 587, "from": "updates@example.com", "secret": "file:C:\\ProgramData\\WKL\\Database Update\\mail.txt" }
Datoteka, ki jo lahko spreminja kdo drug kot skrbniki in SYSTEM, geslo v connection.string ali ime
datoteke, ki se ne ujema z id, podatkovno zbirko izločijo; databases navede datoteko in razlog.
Nastavitve delovanja
Datoteko <id>.json v mapi settings zapiše storitev z ukazom settings. Če ključa ali datoteke ni,
velja privzeta vrednost. Datoteke, ki ni veljaven JSON ali ima vrednost zunaj obsega, storitev ne
nadomesti s privzetimi vrednostmi: podatkovna zbirka čaka, dokler datoteka ni pravilna.
| Ključ | Privzeto | Pomen |
|---|---|---|
expand | automatic | Združljivi paketi: automatic takoj, confirm šele po potrditvi |
contract | confirm | Nezdružljivi paketi: confirm šele po potrditvi, automatic napovedan in nameščen ob roku |
noticeMinutes | 60 | Čas napovedi v minutah, od 0 do 10080, če ga paket ne navede |
sessionWindowMinutes | 15 | Od 1 do 1440; brez učinka, dokler gatewayAlias nima učinka |
backup.keepCount | 10 | Varnostne kopije, ki vedno ostanejo, od 1 do 1000 |
backup.keepDays | 30 | Starost v dneh, od katere se starejša kopija izbriše, od 0 do 3650; 0: šteje samo število |
notify.channels | ["eventlog"] | Poti sporočil: eventlog, file, email |
notify.email.to | – | Prejemniki, ločeni s ;; potrebni, ko je email vklopljen |
{
"expand": "automatic", "contract": "confirm", "noticeMinutes": 60, "sessionWindowMinutes": 15,
"backup": { "keepCount": 10, "keepDays": 30 },
"notify": { "channels": ["eventlog", "file"], "email": { "to": null } }
}
Hramba varnostnih kopij deluje kot pri modulu za posodobitve. Pot
Pošto poti email storitev pošlje prek poštnega strežnika iz mail v zaščiteni konfiguraciji na
notify.email.to, zunaj pregleda: počasen ali nedosegljiv poštni strežnik zadrži pošto, nikoli paketa.
Če mail manjka, se secret ne da razrešiti ali poštni strežnik sporočila ne sprejme, je v dnevniku
dogodkov opozorilo; samo sporočilo je tam tako ali tako zapisano.
Ukazi
| Ukaz | Pomen |
|---|---|
databases | Nastavljene podatkovne zbirke s konfiguracijo (ključi kot SHA-256, skrivnost samo kot sklic) in nastavitvami; datoteke v mapi databases, ki jih storitev izloči, z razlogom |
status <id> | Odprti paketi (id, datoteka, različica sheme, vrsta, stanje, razlog, rok), blokirajoče seje in odstopanja od nazadnje nameščenega modela |
history <id> [--skip n] [--take n] | Zaključeni paketi, najnovejši najprej, z njihovimi koraki; --take od 1 do 100, privzeto 20 |
confirm <id> <paket> | Potrdi čakajoči paket: združljiv se izvede takoj, nezdružljiv se napove in izvede ob roku |
move-deadline <id> <paket> <čas> | Prestavi rok napovedanega paketa; čas po ISO 8601, brez časovnega pasu prebran kot UTC (2026-11-02T18:00Z) |
cancel-notice <id> <paket> | Prekliče napoved; paket spet čaka na potrditev |
retry <id> <paket> | Neuspešen ali zavrnjen paket vzame znova, kot nov paket z vsemi preverjanji |
dismiss <id> <paket> | Neuspešen ali zavrnjen paket zavrže; izgine iz stanja |
upload <id> <datoteka> | Paket (največ 64 MB) položi v vhodno mapo in ga takoj da preveriti |
settings <id> [možnosti] | Prikaže ali spremeni nastavitve delovanja: --expand, --contract, --notice-minutes, --session-window-minutes, --keep-count, --keep-days, --channels eventlog,file,email, --email-to "a@example.com;b@example.com". Veljajo od naslednjega pregleda |
help | Pregled ukazov |
<paket> je stolpec id iz ukaza status. --json izpiše podatke kot JSON; status --json ima enako
obliko kot update-status podatkovnega prehoda.
Izhodna koda. 0 opravljeno; 1 napačen klic, neznana podatkovna zbirka ali paket, paket v
drugem stanju, nedosegljiva podatkovna zbirka ali nedosegljiva storitev; 10 pregled ravno namešča
paket (poskusite znova čez trenutek); sicer koda paketa, na primer 7 čaka na potrditev.
Sporočila
V dnevniku aplikacij pod virom WKL Database Update so dogodki paketov z ID-ji od 4101 do 4106 (kot pri
modulu za posodobitve), poleg tega zagon storitve in vsak skrbniški
ukaz z računom Windows, ki ga je zagnal. Pot file za vsak dan (UTC) piše log\<LLLL-MM-DD>.jsonl;
storitev teh datotek nikoli ne izbriše.
Opombe
- Kdo sme upravljati. Ukazi naročilo predajo zagnani storitvi prek imenovane cevi
\\.\pipe\Wkl.Data.Update. Odprta je samo za skrbnike in SYSTEM in zavrne vsako povezavo iz omrežja; upravljanja z drugega računalnika ni. Brez ukaznega poziva s skrbniškimi pravicami Windows dostop zavrne. - Kdo ukrepa. Storitev vsak ukaz izvede s svojim računom. Skrbnik v podatkovni zbirki ne potrebuje pravic. Pri potrditvi storitev v podatkovno zbirko vpiše račun Windows klicatelja (
DOMENA\ime) kot tistega, ki je potrdil. - Samo storitvi. Ukazna vrstica pošlje naročilo samo, če je na drugem koncu cevi zagnana storitev
Wkl.Data.Update. - Brez prekrivanja. Ukazi in pregledi tečejo drug za drugim. Če se paket ravno namešča, ukaz čaka do deset sekund, sicer konča s kodo
10. - Pregled. Vsakih 15 sekund; brez datoteke v mapi
databasesstoritev ne naredi ničesar.
Primer
C:\> "C:\Program Files\Wkl\Database Update\Wkl.Data.Update.exe" status kunden
Stand von kunden.
Kunden, Schema 13
Paket 41 Kunden-schema-14.zip Schema 14 contract waiting Grund 7
Ein nicht abwärtsverträgliches Paket (contract) wartet auf Bestätigung.
C:\> "C:\Program Files\Wkl\Database Update\Wkl.Data.Update.exe" confirm kunden 41
Ukazna vrstica in storitev odgovarjata v nemščini.