> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Veriler ve yedeklemeler

Overleaf'i geliştirdikçe zaman zaman veritabanındaki verilerin şemasını değiştirmemiz gerekir; bu süreci otomatikleştirmek için taşıma (migration) betikleri kullanılır. Bu betikler önce dünyanın en büyük Overleaf örneği olan [overleaf.com](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit) üzerinde çalıştırılmış olacağından olası durumların çoğuyla zaten karşılaşılmıştır; ancak verileriniz konusunda hiçbir garanti vermiyoruz. Lütfen örneğinizi yükseltmeden **önce** verilerinizin **tutarlı** bir yedeğini aldığınızdan emin olun.

<Info>
  Yeni bir Docker imajına yükseltirken, henüz çalıştırılmamış **olan** tüm taşımalar otomatik olarak yürütülür; bu işlem veri kümenizin boyutuna bağlı olarak biraz zaman alabilir. Günlükleri takip ederek ilerlemeyi görebilirsiniz. Daha fazla bilgi için [Günlükleme](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/logging) dokümantasyonumuza bakın.
</Info>

### Veri depolama

Overleaf Community Edition ve Server Pro verilerini üç ayrı yerde depolar:

* <strong>MongoDB Veritabanı:</strong> Kullanıcı ve proje verilerinin bulunduğu yerdir.
* <strong>Redis:</strong> İşlem hâlindeki veriler için yüksek performanslı bir önbellek görevi görür; öncelikle proje düzenlemeleri ve işbirliğiyle ilgili bilgileri depolar.
* <strong>Overleaf Dosya Sistemi:</strong> Düzenlenemeyen proje dosyalarını (görseller dahil) depolar ve proje derlemeleri sırasında geçici bir disk önbelleği olarak da işlev görür.

<Info>
  Bu, örneğinizin ne zaman kurulduğuna bağlı olarak `~/sharelatex_data` veya `~/overleaf_data` olabilir.
</Info>

<Check>
  Proje dosyaları ve tam proje geçmişi verileri için S3 uyumlu depolama arka uçlarını da destekliyoruz.
</Check>

Diskteki klasör düzeni hakkında daha fazla bilgi için Klasörlerin ayrıntıları bölümüne bakın.

### Tutarlı bir yedekleme alma

Tutarlı bir yedek alırken dahil edilmesi gereken üç depo vardır:

* MongoDB
* Redis
* Overleaf Dosya Sistemi verileri

Tutarlı bir yedek oluşturmak için, yedekleme işlemi sürerken kullanıcıların yeni veri üretmesini engellemek **zorunludur**. Bu nedenle, kullanıcıların örneğe erişemeyeceği veya projelerini düzenleyemeyeceği bir bakım penceresi planlamanızı öneririz.

Yedekleme işlemine başlamadan önce örneğinizi çevrimdışı duruma getirmeniz gerekir. Server Pro `3.5.0` sürümünden itibaren kapatma işlemi, sitenin kapatılmasını ve kullanıcıların bağlantısının kesilmesini otomatikleştirir.

Örneğinizi kapatmak için, Toolkit dağıtımı çalıştırıyorsanız `bin/docker-compose stop sharelatex`, Docker Compose çalıştırıyorsanız `docker compose stop sharelatex` komutunu çalıştırmanız gerekir.

`sharelatex` konteyneri durdurulduktan sonra yedekleme işlemine başlayabilirsiniz.

Yedekleme işlemi **başarıyla** tamamlandıktan sonra `sharelatex` konteynerini başlatmanız gerekir. Bunu yapmak için, Toolkit dağıtımı çalıştırıyorsanız `bin/docker-compose start sharelatex`, Docker Compose çalıştırıyorsanız `docker compose start sharelatex` komutunu çalıştırın.

<Danger>
  * Yedekler, Overleaf örneğinizin çalıştığı sunucudan ayrı bir sunucuda, ideal olarak tamamen farklı bir konumda saklanmalıdır.
  * Veritabanlarını birden çok MongoDB örneğine çoğaltmak bir miktar yedeklilik sağlayabilir, ancak veri bozulmasına karşı koruma sağlamaz.
  * Yedeklerinizi test etmek, eksiksiz ve işlevsel olduklarından emin olmanın en iyi yoludur.
</Danger>

### MongoDB

MongoDB, veritabanında depolanan kullanıcı ve proje verilerinin yedeğini oluşturmak için kullanılabilen [mongodump](https://docs.mongodb.com/manual/reference/program/mongodump/) adlı bir komut satırı aracıyla birlikte gelir.

### Overleaf Dosya Sistemi verileri

Toolkit dağıtımlarında, düzenlenemeyen dosyalarınızın depolandığı yol `config/overleaf.rc` içinde `OVERLEAF_DATA_PATH` ortam değişkeniyle belirtilir; ancak örneğinizin ne zaman oluşturulduğuna bağlı olarak bu `data/sharelatex` olabilir.

Eksiksiz bir yedek oluşturulduğundan emin olmak için bu dizini **rsync** gibi bir araçla özyinelemeli olarak kopyalamanız gerekir.

### Redis

Redis, kullanıcı oturumlarını ve MongoDB'ye aktarılmadan önce bekleyen belge güncellemelerini depolar.

Redis kalıcılığı için önerilen yapılandırma Append Only File (AOF) kalıcılığıdır.

Toolkit kullanıcılarında **yeni** kurulumlar için AOF kalıcılığı varsayılan olarak etkindir; mevcut kullanıcılar AOF'yi etkinleştirme hakkında daha fazla bilgiyi [burada](/tr/on-premises/configuration/overleaf-toolkit/redis#enabling-append-only-file-persistence) bulabilir.

AOF kalıcılığıyla birlikte RDB anlık görüntülerini kullanmaya devam etmeye karar verirseniz, RDB dosyasını yedek olarak güvenli bir konuma kopyalayabilirsiniz.

### Sunucular arasında veri taşıma

En iyi durumda, yeni örnekte henüz değerli bir veri bulunmaz. Örneklerin verilerini birleştirmek için bir sürecimiz yoktur.

Yeni örnekte henüz veri olmadığını varsayarsak, izleyebileceğiniz bazı adımlar şunlardır. Genel hatlarıyla, `mongo`, `redis` ve `overleaf` volume'larının bir tar arşivini oluşturur, bunu yeni sunucuya kopyalar ve orada yeniden açarız.

#### Toolkit

```bash theme={null}
# Gracefully shutdown the old instance
old-server$ bin/stop

# Create the tar-ball
old-server$ tar --create --file backup-old-server.tar config/ data/

# Copy the backup-old-server.tar file from the old-server to the
# new-server using any method that fits

# Gracefully shutdown new instance (if started yet)
new-server$ bin/stop

# Move new data, you can delete it too
new-server$ mkdir backup-new-server
new-server$ mv config/ data/ backup-new-server/

# Populate config/data dir again
new-server$ tar --extract --file backup-old-server.tar

# Start containers
new-server$ bin/up
```

#### Docker Compose

```bash wrap theme={null}
# Gracefully shutdown the old instance
old-server$ docker stop sharelatex
old-server$ docker stop mongo redis

# Create the tar-ball
old-server$ tar --create --file backup-old-server.tar ~/OVERLEAF_data ~/mongo_data ~/redis_data

# Copy the backup-old-server.tar file from the old-server to
# the new-server using any method that fits

# Gracefully shutdown new instance (if started yet)
new-server$ docker stop sharelatex
new-server$ docker stop mongo redis

# Move new data, you can delete it too
new-server$ mkdir backup-new-server
new-server$ mv ~/OVERLEAF_data ~/mongo_data ~/redis_data backup-new-server/

# Populate data dirs again
new-server$ tar --extract --file backup-old-server.tar

# Start containers
new-server$ docker start mongo redis
new-server$ docker start sharelatex
```

**docker-compose.yml** dosyanıza bağlı olarak `mongo`, `redis`, `overleaf` volume'larının yollarını ayarlamanız gerekebilir.

<Info>
  root kullanıcısı olarak (veya sudo ile) çalıştırıldığında tar, dosya sahibi/grubu ve izinlerini korur; bu, yedeği geri yüklerken kritik öneme sahiptir.
</Info>

### Klasörlerin ayrıntıları

<Info>
  Aşağıdaki klasörlerde ek ipuçları bulunur:

  * (b) yedeklere dahil edin; tutarlılığı sağlamak için en iyisi örnek durdurulmuşken yapmaktır
  * (d) silinebilir
  * (e) geçici dosyalar; örnek durdurulduğunda silinebilir
</Info>

1. `~/mongo_data` (b)
   * mongodb veri dizini
2. `~/redis_data` (b)
   * redis veritabanı veri dizini
3. `~/overleaf_data`
   1. bin
      1. synctex (d)
         * son sürümde kullanılmıyor; önceden özel bir synctex ikili dosyası kullanılıyordu (synctex, .tex dosyaları ile pdf arasında kaynak eşlemesi için kullanılır)
   2. data
      1. cache (e)
         * derlemeler için ikili dosya önbelleği
      2. compiles (e)
         * latex derlemesi burada gerçekleşir
      3. db.sqlite (d)
         * son sürümde kullanılmıyor; önceden clsi önbellek ayrıntılarını depoluyordu (bunlar ya basit bellek içi eşlemelere taşındı ya da diski tarıyoruz)
      4. db.sqlite-wal (d)
         * son sürümde kullanılmıyor, bkz. db.sqlite
      5. output (e)
         * istemciye sunulmak üzere latex derleme çıktısı deposu
      6. template\_files (b)
         * şablon sisteminin görsel önizlemeleri (yalnızca Server Pro)
      7. user\_files (b)
         * projelerin ikili dosyaları
      8. history (b)
         * tam proje geçmişi dosyaları
   3. tmp
      1. dumpFolder (e)
         * zip dosyalarının işlenmesinden kalan geçici dosyalar
      2. uploads (e)
         * dosya yüklemelerinin arabelleğe alınması (ikili dosya/zip'ten yeni proje yüklemesi)
      3. projectHistories (e)
         * tam proje geçmişi taşımaları için geçici dosyalar


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.