Uzņēmuma dublējumi
Uzņēmuma administratori un īpašnieki atver savu uzņēmumu tīmekļa lietotnē un izvēlas Dublējumi. Viņi var pieprasīt dublējumu, lejupielādēt ZIP failus un pārvaldīt API atslēgas savam dublējumu serverim. Šī eksportēšana nav pieejama mobilajā lietotnē.
Apjoms un ierobežojumi
Dublējums satur uzņēmuma parastos projekta tērzējumus, tostarp arhivētos tērzējumus, ar ziņojumiem, reakcijām, tērzēšanas kartēm un to saistītajiem augšupielādētajiem pielikumiem. Tas ietver arī projekta un tērzēšanas metadatus, dalībnieku vārdus un publicētos uzņēmuma dokumentus šajos tērzējumos. Uzņēmuma administratori un īpašnieki var dublēt uzņēmuma tērzējumus, pie kuriem nav personiski pievienojušies.
Tiešie ziņojumi, privātās piezīmes, personiski redzamās pakalpojumu pozīcijas, starpuzņēmuma tērzēšanas un personīgie melnraksti ir izslēgti. Uzņēmuma diska un ārējo saitiņu saturs atrodas ārpus šī tērzēšanas eksporta. Trūkstoši saistītie pielikumi izraisa ģenerēšanas kļūdu. ZIP ir datu eksports; automātiskā importēšana atpakaļ Skavā vēl nav pieejama.
Kvotas, inkrementālie dublikāti un saglabāšana
Katrs uzņēmums var pieprasīt vienu pilnu dublikātu 7 dienu laikā un divus inkrementālos dublikātus 24 stundu laikā. Šie ritējošie laika logi sākas ar katru pieprasījumu. Atkārtota jau gatava faila lejupielāde nepatērē ģenerēšanas kvotu. Neizdevušies ģenerēšanas uzdevumi netiek ieskaitīti šajos ierobežojumos.
Katrs inkrementālais dublikāts satur izmaiņas un dzēstos datus kopš pēdējā pilnībā pārsūtītā un ar pārbaudes summu apstiprinātā dublikāta. Poga ir A + B + C: A ir pilnais dublikāts, B satur izmaiņas kopš A, un C tikai tālākās izmaiņas kopš B. Lai atjaunotu stāvokli, piemērojiet katru paketi secībā. Nemainīti pielikumi norāda uz failiem, kas jau ir šajā pogā.
Lejupielādes paliek pieejamas 24 stundas pēc ģenerēšanas pabeigšanas. Tad ZIP fails tiek dzēsts, bet vēsture saglabājas. Pilno dublikātu un katru saistīto inkrementālo dublikātu saglabājiet lokāli. Salīdzināšanas stāvoklis paliek izmantojams ne ilgāk kā 90 dienas pēc pilnā dublikāta; pēc tam ir nepieciešams jauns pilns dublikāts. Katrs inkrementālais dublikāts identificē gan pilno dublikātu, gan tā tiešo priekšgājēju ar ID un SHA-256.
Tikai pilnībā saņemta un apstiprināta kļūst par jauno priekšgājēju. Gatavs, bet neapstiprināts inkrementālais dublikāts bloķē nākamo inkrementālo dublikātu, līdz tas tiek apstiprināts vai beidzas. Pēc neapstiprinātas paketes derīguma termiņa beigām nākamais mēģinājums sākas no pēdējā apstiprinātā stāvokļa un ietver izmaiņas, kas vēl nav dublētās. Ja apstiprināta daļa nav pieejama lokāli, lejupielādējiet to atkārtoti tās 24 stundu pieejamības laikā vai sāciet jaunu pilnu dublikātu, ievērojot nedēļas ierobežojumu. Ieteicams izmantot vienu kopīgu dublikātu mapi uzņēmumam; neatkarīgiem klientiem ir jāuztur tāda pati pilna poga.
Iestatiet API atslēgu
Sadaļā API atslēgas ievadiet nosaukumu, piemēram, “Uzņēmuma NAS”, un izveidojiet atslēgu. Tā tiek rādīta tikai vienu reizi, derīga ir vienu gadu un to var atsaukt jebkurā laikā. Saglabājiet to sava dublējošās vides aizsargātajā noslēpumu krātuvē. Atslēgu īpašnieks ir uzņēmums, un tā var piekļūt tikai šī uzņēmuma dublēšanas API. Tā darbojas neatkarīgi no tās izveidotāja vēlākās pieteikšanās.
Sūti to pa HTTPS galvenē Authorization: Bearer YOUR_BACKUP_TOKEN. Atslēgas nesaglabā URL, publiskos skriptos un žurnālos. Tikai uzņēmuma administratori un īpašnieki var izveidot, sarakstīt un atsaukt atslēgas.
Python: lejupielādējiet pilnu dublējumu un inkrementālos
Lejupielādējiet company_backup.py Python klientu un novietojiet to blakus savam skriptam. Tam ir nepieciešams Python 3.10 vai jaunāka versija Linux vai macOS, un tas izmanto tikai standarta bibliotēku. Iestatiet SKAVA_BACKUP_TOKEN aizsargātajā procesa vidē un aizstājiet 42 ar uzņēmuma ID no tīmekļa lietojumprogrammas adreses.
import os
from company_backup import BackupClient
client = BackupClient("https://chat.skava.io", 42,
os.environ["SKAVA_BACKUP_TOKEN"])
full = client.backup("full", "backups") # once every 7 days
# Later, up to twice in a rolling 24-hour window:
diff = client.backup("diff", "backups")
Plānotie uzdevumi var tieši izsaukt to pašu klientu:
python3 company_backup.py --company 42 --kind full --directory backups
python3 company_backup.py --company 42 --kind diff --directory backups
Klients pieprasa ģenerēšanu, pārbauda statusu, straumē lejupielādi uz diska, pārbauda izmēru, SHA-256 un ZIP saturu, kā arī apstiprina saņemšanu. Tas saglabā pilnās un inkrementālās rezerves kopijas kā atsevišķus failus. Turiet slēpto stāvokļa failu šajā direktorijā: tajā ir ķēdes un atsāknas informācija. Pirms pieprasīt nākamo inkrementālo, klients pārbauda visus iepriekšējos ZIP failus. Pēc pārtraukuma atkārtojiet to pašu komandu. Paralēlie uzdevumi tam pašam uzņēmumam tajā pašā direktorijā tiek novērsti.
API plūsma bez pastāvīgas savienojuma
- Pieprasījums:
POST /api/v1/companies/42/backupsar{"kind":"full","request_id":"YOUR_UNIQUE_ID"}. Inkrementālai kopijai iestatietkinduzdiffun nosūtiet savu lokālo pilno rezerves kopijas ID kābase_idun pēdējo apstiprināto paketes ID kāparent_id. Atbilde nodrošinajob.id. Atkārtot mēģinājumu, izmantojot to pašurequest_id. - Statusa pārbaude:
GET /api/v1/companies/42/backups/JOB_ID, aptuveni ik pēc desmit sekundēm. Ģenerēšana notiek fonā, kamēr statuss irqueuedvairunning. Starp pieprasījumiem nav atvērts savienojums. - Lejupielāde: Ja stāvoklis ir
readyunavailable: true, izsaucietGET /api/v1/companies/42/backups/JOB_ID/download. Tikai šī pārsūtīšana notur atvērto savienojumu. Ja tā tiek pārtraukta, lejupielādējiet visu failu vēlreiz. - Saņemšanas apstiprinājums: Pārbaudiet
job.bytesunjob.sha256. No lejupielādes atbildes galvenes ņemietX-Backup-Download-IdunX-Backup-Receipt. NosūtietPOST /api/v1/companies/42/backups/JOB_ID/downloads/DOWNLOAD_ID/confirmar{"receipt":"RECEIPT","bytes":12345,"sha256":"SHA256"}. Par veiksmīgu tiek uzskatīta tikai pilna pārsūtīšana ar atbilstošu apstiprinājumu.
GET /api/v1/companies/42/backups atgriež vēsturi, kas lapots caur next_offset. Izsīpuļotas kvotas vai pagaidu jaudas ierobežojumi atgriež HTTP 429 ar Retry-After. Rezerves kopijas tiek ģenerētas secīgi ierobežojumu ietvaros, lai vienlaicīgas nakts darbnesas nepārslogotu lietojumprogrammu.
Izpratne par lejupielādes vēsturi
Vēsturē redzama pilna vai inkrementālā veida, pieprasījuma laiks, derīguma beigu datums, pilna rezerves kopija, priekšgājējs un katra mēģinājuma lejupielāde ar pārsūtītajiem bāitiem. “Gatavs” norāda uz ģenerētu failu. “Pārsūtīts” nozīmē, ka serveris nosūtīja visus bāitus. “Kontroles summa apstiprināta” nozīmē, ka klients pārbaudīja un apstiprināja pilnu saņemšanu. Pārtraukti un neizdevušies mēģinājumi paliek redzami.
Tīmekļa lietotne pirms saglabāšanas dialoga parādīšanas pārlūkā apstiprina saņemšanu. Šī apstiprinājuma ziņa nenozīmē, ka fails pēc tam ir pastāvīgi saglabāts jūsu datorā. Automatizētajām dublējumiem Python klients raksta failu uz diska pirms saņemšanas apstiprināšanas. Tīmekļa lietotnes lejupielādes ir ierobežotas līdz 64 MiB; lielākiem arhīviem izmantojiet Python klientu.