Skip to main content
Overleafin kehittyessä tietokannan tietojen skeemaa on joskus muutettava, ja tämän prosessin automatisointiin käytetään siirtoskriptejä (migraatioita). Ne on ajettu ensin overleaf.com-palvelussa, joka on maailman suurin Overleaf-instanssi, joten useimmat mahdolliset tilanteet on todennäköisesti jo kohdattu. Emme kuitenkaan anna mitään takuita tietojesi suhteen. Varmista, että luot tiedoistasi yhtenäisen varmuuskopion ennen instanssisi päivittämistä.
Kun päivität uuteen Docker-imageen, kaikki siirrot, joita ei ole vielä ajettu, suoritetaan automaattisesti. Tämä voi kestää jonkin aikaa tietomääräsi koosta riippuen, ja lokien seuraaminen kertoo edistymisestä. Lisätietoja on Logging-dokumentaatiossamme.

Tietojen tallennus

Overleaf Community Edition ja Server Pro tallentavat tietonsa kolmeen erilliseen paikkaan:
  • MongoDB-tietokanta: Täällä sijaitsevat käyttäjä- ja projektitiedot.
  • Redis: toimii suorituskykyisenä välimuistina käsittelyssä oleville tiedoille ja tallentaa pääasiassa projektien muokkauksiin ja yhteistyöhön liittyviä tietoja.
  • Overleafin tiedostojärjestelmä: tallentaa projektien ei-muokattavat tiedostot (kuvat mukaan lukien) ja toimii myös väliaikaisena levyvälimuistina projektien käännösten aikana.
Tämä voi olla ~/sharelatex_data tai ~/overleaf_data riippuen siitä, milloin instanssisi on otettu käyttöön.
Projektitiedostoille ja projektien täydelle historiatiedolle tuemme myös S3-yhteensopivia tallennustaustajärjestelmiä.
Lisätietoja levyllä olevasta kansiorakenteesta on osiossa Kansiot yksityiskohtaisesti.

Yhtenäisen varmuuskopion tekeminen

Yhtenäistä varmuuskopiota tehtäessä on otettava mukaan kolme tietovarastoa:
  • MongoDB
  • Redis
  • Overleafin tiedostojärjestelmän tiedot
Yhtenäisen varmuuskopion tuottamiseksi on välttämätöntä estää käyttäjiä tuottamasta uusia tietoja varmuuskopioinnin aikana. Siksi suosittelemme huoltoikkunan ajoittamista, jonka aikana käyttäjät eivät pääse instanssiin eivätkä voi muokata projektejaan. Ennen varmuuskopioinnin aloittamista sinun on otettava instanssisi pois käytöstä. Server Pron versiosta 3.5.0 alkaen sammutusprosessi automatisoi sivuston sulkemisen ja käyttäjien yhteyksien katkaisemisen. Sammuttaaksesi instanssin aja bin/docker-compose stop sharelatex, jos käytät Toolkit-käyttöönottoa, tai docker compose stop sharelatex, jos käytät Docker Composea. Kun sharelatex-kontti on pysäytetty, voit aloittaa varmuuskopioinnin. Kun varmuuskopiointi on valmistunut onnistuneesti, sinun on käynnistettävä sharelatex-kontti. Aja tätä varten bin/docker-compose start sharelatex, jos käytät Toolkit-käyttöönottoa, tai docker compose start sharelatex, jos käytät Docker Composea.
  • Varmuuskopiot tulisi säilyttää eri palvelimella kuin se, jolla Overleaf-instanssisi toimii, mieluiten kokonaan eri sijainnissa.
  • Tietokantojen replikointi useisiin MongoDB-instansseihin voi tarjota jonkin verran redundanssia, mutta se ei suojaa tietojen vioittumiselta.
  • Varmuuskopioiden testaaminen on paras tapa varmistaa, että ne ovat täydellisiä ja toimivia.

MongoDB

MongoDB:n mukana tulee komentorivityökalu mongodump, jolla voi luoda varmuuskopion tietokantaan tallennetuista käyttäjä- ja projektitiedoista.

Overleafin tiedostojärjestelmän tiedot

Toolkit-käyttöönotoissa polku, johon ei-muokattavat tiedostot tallennetaan, määritetään tiedostossa config/overleaf.rc ympäristömuuttujalla OVERLEAF_DATA_PATH, mutta instanssin luontiajankohdasta riippuen se voi olla data/sharelatex. Täydellisen varmuuskopion varmistamiseksi tämä hakemisto on kopioitava rekursiivisesti esimerkiksi rsync-työkalulla.

Redis

Redis tallentaa käyttäjäistunnot ja odottavat asiakirjapäivitykset ennen kuin ne siirretään MongoDB:hen. Append Only File (AOF) -pysyvyys on suositeltu määritys Redisin pysyvyydelle. Toolkitin käyttäjillä AOF-pysyvyys on oletuksena käytössä uusissa asennuksissa. Nykyiset käyttäjät löytävät lisätietoja AOF:n käyttöönotosta täältä. Jos päätät jatkaa RDB-tilannevedosten käyttöä AOF-pysyvyyden rinnalla, voit kopioida RDB-tiedoston turvalliseen paikkaan varmuuskopioksi.

Tietojen siirtäminen palvelimien välillä

Parhaassa tapauksessa uudessa instanssissa ei vielä ole arvokkaita tietoja. Meillä ei ole prosessia instanssien tietojen yhdistämiseen. Olettaen, että uudessa instanssissa ei vielä ole tietoja, tässä on joitakin vaiheita, joita voit noudattaa. Yleisellä tasolla luomme mongo-, redis- ja overleaf-volyymeista tar-paketin, kopioimme sen uudelle palvelimelle ja purkamme sen siellä.

Toolkit

Docker Compose

docker-compose.yml-tiedostostasi riippuen saatat joutua mukauttamaan mongo-, redis- ja overleaf-volyymien polkuja.
Kun tar ajetaan root-käyttäjänä (tai sudolla), se säilyttää tiedostojen omistajan/ryhmän ja oikeudet, mikä on ratkaisevan tärkeää varmuuskopiota palautettaessa.

Kansiot yksityiskohtaisesti

Seuraavilla kansioilla on lisämerkintöjä:
  • (b) sisällytä varmuuskopioihin, mieluiten instanssin ollessa pysäytettynä yhtenäisyyden varmistamiseksi
  • (d) voidaan poistaa
  • (e) tilapäiset tiedostot, voidaan poistaa instanssin ollessa pysäytettynä
  1. ~/mongo_data (b)
    • MongoDB:n datahakemisto
  2. ~/redis_data (b)
    • Redis-tietokannan datahakemisto
  3. ~/overleaf_data
    1. bin
      1. synctex (d)
        • ei käytössä uusimmassa julkaisussa; aiemmin käytettiin mukautettua synctex-binääriä (synctexiä käytetään lähdekoodin vastaavuuksiin .tex-tiedostojen ja pdf:n välillä)
    2. data
      1. cache (e)
        • käännösten binääritiedostovälimuisti
      2. compiles (e)
        • LaTeX-käännös tapahtuu täällä
      3. db.sqlite (d)
        • ei käytössä uusimmassa julkaisussa; tallensi aiemmin clsi-välimuistin tietoja (siirretty joko yksinkertaisiin muistinsisäisiin rakenteisiin tai levy skannataan)
      4. db.sqlite-wal (d)
        • ei käytössä uusimmassa julkaisussa, katso db.sqlite
      5. output (e)
        • LaTeX-käännösten tulosteiden tallennus asiakkaalle tarjoamista varten
      6. template_files (b)
        • mallijärjestelmän kuvaesikatselut (vain Server Pro)
      7. user_files (b)
        • projektien binääritiedostot
      8. history (b)
        • projektien täydet historiatiedostot
    3. tmp
      1. dumpFolder (e)
        • zip-tiedostojen käsittelyn väliaikaiset tiedostot
      2. uploads (e)
        • tiedostolatausten puskurointi (binääritiedoston / uuden projektin zip-latauksessa)
      3. projectHistories (e)
        • väliaikaiset tiedostot projektien täyden historian siirtoja varten
Viimeksi muokattu 5. lokakuuta 2026