Yrityksen varmuuskopiot
Yrityksen ylläpitäjät ja omistajat avaavat yrityksensä verkkosovituksessa ja valitsevat Varmuuskopiot. He voivat pyytää varmuuskopioita, ladata ZIP-tiedostoja ja hallita varmuuskopioimispalvelimensa API-avaimia. Tätä vientiä ei ole saatavilla mobiilisovituksessa.
Kohdealue ja rajat
Varmuuskopio sisältää yrityksen tavanomaiset projektikeskustelut, mukaan lukien arkistoitu keskustelut, viestit, reaktiot, keskustelukortit ja niihin liittyvät ladatut liitteet. Se sisältää myös projektien ja keskustelujen metatiedot, osallistujien nimet ja näissä keskusteluissa julkaistut yrityksen asiakirjat. Yrityksen ylläpitäjät ja omistajat voivat varmuuskopioida yrityksen keskustelut, joihin he eivät henkilökohtaisesti ole liittyneet.
Suorat viestit, yksityiset muistiinpanot, henkilökohtaisesti näkyvät palvelut, yritysten väliset keskustelut ja henkilökohtaiset luonnokset jätetään pois. Yrityksen Drive ja ulkoisten linkkien sisältö ovat tämän keskusteluvieheen ulkopuolella. Puuttuvat liittyvät liitteet aiheuttavat generoinnin epäonnistumisen. ZIP on datavienti; automaattinen tuonti takaisin Skavaan ei ole vielä saatavilla.
Kvootat, inkrementaalit ja säilytys
Jokainen yritys voi pyytää yhden täyden varmuuskopion 7 päivän aikana ja kaksi inkrementaalista varmuuskopiota 24 tunnin aikana. Nämä liukuvat aikavälit alkavat jokaisesta pyynnöstä. Valmiin tiedoston lataaminen uudelleen ei kuluta generointikvootaa. Epäonnistuneet generointitehtävät eivät myöskään lasu näihin rajoihin.
Jokainen inkrementaali sisältää muutokset ja poistot edellisestä täysin siirretystä ja tarkistussummalla vahvistetusta varmuuskopiosta. Ketju on A + B + C: A on täysi varmuuskopio, B sisältää muutokset A:sta lähtien ja C vain muutokset B:stä lähtien. Rakenna tila soveltamalla jokainen paketti järjestyksessä. Muuttumattomat liitteet viittaavat tiedostoihin, jotka ovat jo tässä ketjussa.
Lataukset ovat käytettävissä 24 tuntia generoinnin päättymisen jälkeen. ZIP-tiedosto poistetaan sen jälkeen, mutta historia säilyy. Pidä täysi varmuuskopio ja kaikki siihen liittyvät inkrementaalit paikallisesti. Vertailutila on käytettävissä enintään 90 päivää täyden varmuuskopion jälkeen; sen jälkeen tarvitaan uusi täysi varmuuskopio. Jokainen inkrementaali tunnistaa sekä täyden varmuuskopion että sen välittömän edeltäjän ID:llä ja SHA-256-tunnisteella.
Vain täysin vastaanotettu ja vahvistettu paketti tulee uudeksi edeltäjäksi. Valmis, mutta vahvistamaton inkrementaali estää toisen inkrementaalin, kunnes se on vahvistettu tai vanhentunut. Kun vahvistamaton paketti vanhenee, seuraava yritys alkaa viimeisimmästä vahvistetusta tilasta ja sisältää muutokset, jotka eivät ole vielä varmuuskopioitu. Jos vahvistettu osa puuttuu paikallisesti, lataa se uudelleen 24 tunnin saatavuusajan kuluessa tai aloita uusi täysi varmuuskopio viikoittaisen rajan puitteissa. Suosittelen yhtä jaettua varmuuskopiohakemistoa yritystä kohti; itsenäisten asiakkaiden on pidettävä samaa täydellistä ketjua.
Luo API-avain
Syötä API-avaimet-osiossa nimi, kuten "Yrityksen NAS", ja luo avain. Avain näytetään kerran, vanhenee vuoden kuluttua ja voidaan peruuttaa milloin tahansa. Tallenna se varakopioinnin salaisuusvarastoon. Yritys omistaa avaimen, jolla on pääsy vain kyseisen yrityksen varakopiointi-API:hin. Avain toimii itsenäisesti luojan myöhemmästä kirjautumisesta.
Lähetä se HTTPS-yhteydellä Authorization: Bearer YOUR_BACKUP_TOKEN -otsakkeessa. Pidä avaimet poissa URL-osoitteista, julkisista skripteistä ja lokitiedostoista. Vain yrityksen ylläpitäjät ja omistajat voivat luoda, listata ja peruuttaa avaimia.
Python: lataa koko varakopio ja lisävarakopiot
Lataa company_backup.py Python-asiakasohjelma ja aseta se skriptisi viereen. Ohjelma vaatii Python 3.10 tai uudemman Linux- tai macOS-järjestelmässä ja käyttää vain standardikirjastoa. Määritä SKAVA_BACKUP_TOKEN suojattuun prosessiin ja korvaa 42 yrityksen ID:llä, joka näkyy web-sovelluksen osoitteessa.
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")
Ajastetut tehtävät voivat kutsua samaa asiakasohjelmaa suoraan:
python3 company_backup.py --company 42 --kind full --directory backups
python3 company_backup.py --company 42 --kind diff --directory backups
Asiakasohjelma pyytää generointia, seuraa tilaa, kirjoittaa latauksen levylle, tarkistaa koon, SHA-256-tunnisteen ja ZIP-sisällön sekä vahvistaa vastaanoton. Se tallentaa täydet ja inkrementaaliset varmuuskopiot erillisinä tiedostoina. Pidä piilotettu tilatiedosto kyseisessä hakemistossa: siinä on ketjun ja jatkamisen tiedot. Ennen uuden inkrementaalisen pyyntöä asiakasohjelma tarkistaa kaikki aiemmat ZIP-tiedostot. Keskeytyksen jälkeen toista sama komento. Saman yrityksen samassa hakemistossa suoritettavia samanaikaisia tehtäviä estetään.
API-virta ilman pysyvää yhteyttä
- Pyyntö:
POST /api/v1/companies/42/backupsja{"kind":"full","request_id":"YOUR_UNIQUE_ID"}. Inkrementaalista varten asetakindarvoondiffja lähetä paikallinen täysi varmuuskopio IDbase_id:nä sekä viimeisin vahvistettu paketti IDparent_id:nä. Vastaus sisältääjob.id:n. Käytä samaarequest_id:tä uudelleenyrityksessä. - Tilan seuranta:
GET /api/v1/companies/42/backups/JOB_ID, noin kymmenen sekunnin välein. Generointi suoritetaan taustalla, kun tila onqueuedtairunning. Yhteys ei pysy auki pyyntöjen välillä. - Lataus: Kun tila on
readyjaavailable: true, kutsuGET /api/v1/companies/42/backups/JOB_ID/download. Vain tämä siirto pitää yhteyden auki. Jos siirto keskeytyy, lataa koko tiedosto uudelleen. - Vastaanoton vahvistus: Tarkista
job.bytesjajob.sha256. OtaX-Backup-Download-IdjaX-Backup-Receiptlatausvastauksen otsakeista. LähetäPOST /api/v1/companies/42/backups/JOB_ID/downloads/DOWNLOAD_ID/confirmsisältäen{"receipt":"RECEIPT","bytes":12345,"sha256":"SHA256"}. Vain täydellinen siirto, jossa on vastaava vahvistus, lasketaan onnistuneeksi.
GET /api/v1/companies/42/backups palauttaa historian, joka on sivutettu kentän next_offset kautta. Täyttyneet kvootat tai tilapäiset kapasiteettirajat palauttavat HTTP-virheen 429 yhdessä Retry-After-otsakkeen kanssa. Varaukset luodaan peräkkäin rajojen puitteissa, jotta samanaikaiset yötyöt eivät ylikuormita sovellusta.
Lataushistorian ymmärtäminen
Historiassa näkyy koko tai inkrementaaliset varaukset, pyynnön aika, voimassaolon päättymisajankohta, kokonaisvaraus, edeltävä varaus sekä jokainen latausyritys siirrettyine tavuineen. Tila "Ready" tarkoittaa luotua tiedostoa. Tila "Transferred" tarkoittaa, että palvelin lähetti kaikki tavut. Tila "Checksum confirmed" tarkoittaa, että asiakasohjelma varmisti ja vahvisti koko tiedoston vastaanoton. Keskeytyneet ja epäonnistuneet yritykset pysyvät näkyvissä.
Verkkosovellus vahvistaa vastaanoton selaimessa ennen tallennusikkunan avaamista. Tämä vahvistus ei kuitenkaan takaa, että tiedosto on myöhemmin tallennettu pysyvästi tietokoneellesi. Automaattisissa varmuuskopioissa Python-asiakasohjelma kirjoittaa tiedoston levylle ennen vastaanoton vahvistamista. Verkkosovelluksen lataukset ovat rajattu 64 MiB:iin; käytä Python-asiakasohjelmaa suuremmille arkistoille.