> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/on-premises/tr/bakim/data-and-backups.md).

# Veriler ve yedekler

Overleaf'i geliştirirken bazen veritabanındaki verilerin şemasını değiştirmemiz gerekir; bu işlemi otomatikleştirmek için taşıma betikleri kullanılır. Bunlar üzerinde çalıştırılmış olacaktır [overleaf.com](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit) dünyadaki en büyük Overleaf örneği olan ilk sürümde, dolayısıyla çoğu olasılıkla zaten karşılaşılmış olacaktır; ancak verileriniz konusunda hiçbir garanti vermiyoruz. Lütfen bir **tutarlı** verilerinizin yedeğini **önce** örneğinizi yükseltirken.

{% hint style="info" %}
Yeni bir Docker imajına yükseltirken, çalıştırılmamış olan tüm taşıma işlemleri **yapmamalısınız** henüz çalıştırılmamışsa otomatik olarak yürütülecektir; bu, veri kümenizin boyutuna bağlı olarak biraz zaman alabilir, günlükleri takip etmek size ilerlemeyi gösterecektir. Daha fazla bilgi için, bizim [Günlük Kaydı](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/logging) belgelere bakın.
{% endhint %}

### Veri depolama

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

* **MongoDB Veritabanı:** Kullanıcı ve proje verileri burada bulunur.
* **Redis:** işlemdeki veriler için yüksek performanslı bir önbellek görevi görür; başlıca proje düzenlemeleri ve işbirliğiyle ilgili bilgileri saklar.
* **Overleaf Dosya Sistemi:** düzenlenemeyen proje dosyalarını (görseller dahil) saklar ve proje derlemeleri sırasında geçici bir disk önbelleği olarak da işlev görür.

{% hint style="info" %}
Bu, `~/sharelatex_data` veya `~/overleaf_data`örneğinizin ne zaman kurulduğuna bağlı olarak.
{% endhint %}

{% hint style="success" %}
Proje dosyaları ve tam proje geçmişi verileri için S3 uyumlu depolama arka uçlarını da destekliyoruz.
{% endhint %}

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

### Tutarlı bir yedekleme gerçekleştirme

Tutarlı bir yedekleme alırken dahil edilmesi gereken üç depolama alanı vardır:

* MongoDB
* Redis
* Overleaf Dosya Sistemi verileri

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

Yedekleme işlemini başlatmadan önce örneğinizi çevrimdışı hale getirmeniz gerekecek. Server Pro'dan başlayarak `3.5.0` 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 şunu çalıştırmanız gerekir: `bin/docker-compose stop sharelatex` eğer bir Toolkit dağıtımı çalıştırıyorsanız veya `docker compose stop sharelatex` eğer Docker Compose kullanıyorsanız.

Bir kez `sharelatex` konteyner durdurulduğunda yedekleme işlemini başlatabilirsiniz.

Yedekleme işlemi tamamlandıktan sonra **başarıyla** şunu başlatmanız gerekecek: `sharelatex` konteyneri. Bunu yapmak için şunu çalıştırın: `bin/docker-compose start sharelatex` eğer bir Toolkit dağıtımı çalıştırıyorsanız veya `docker compose start sharelatex` eğer Docker Compose kullanıyorsanız.

{% hint style="danger" %}

* Yedekler, Overleaf örneğinizin çalıştığı sunucudan ayrı bir sunucuda, ideal olarak tamamen farklı bir konumda saklanmalıdır.
* Veritabanlarını birden fazla MongoDB örneğine çoğaltmak bir miktar yedeklilik sağlayabilir, ancak bozulmaya karşı koruma sağlamaz.
* Yedeklerinizi test etmek, eksiksiz ve çalışır olduklarından emin olmanın en iyi yoludur.
  {% endhint %}

### MongoDB

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

### Overleaf Dosya Sistemi verileri

Toolkit dağıtımları için, düzenlenemeyen dosyalarınızın saklandığı yol şu dosyada belirtilir: `config/overleaf.rc` şunu kullanarak `OVERLEAF_DATA_PATH` ortam değişkeni, ancak örneğinizin ne zaman oluşturulduğuna bağlı olarak bu şu olabilir: `data/sharelatex`.

şu gibi bir araç kullanmak: **rsync** bu dizini özyinelemeli olarak kopyalamak, eksiksiz bir yedek oluşturulmasını sağlamak için gereklidir.

### Redis

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

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

Toolkit kullanıcıları için AOF kalıcılığı varsayılan olarak etkinleştirilir **yeni** kurulumlarda; mevcut kullanıcılar AOF'nin etkinleştirilmesi hakkında daha fazla bilgi bulabilir [burada](/on-premises/tr/yapilandirma/overleaf-toolkit/redis.md#enabling-append-only-file-persistence).

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 hiçbir veriniz yoktur. Örneklerin verilerini birleştirmek için bir sürecimiz yok.

Yeni örnekte henüz veri olmadığını varsayarsak, izleyebileceğiniz bazı adımlar şunlardır. Yüksek seviyede, şunun bir tar arşivini oluştururuz: `mongo`, `redis` ve `overleaf` birimleri, onu yeni sunucuya kopyalar ve orada yeniden açarız.

#### Toolkit

```bash
# Eski örneği nazikçe kapatın
old-server$ bin/stop

# Tar arşivini oluşturun
old-server$ tar --create --file backup-old-server.tar config/ data/

# backup-old-server.tar dosyasını old-server'dan şu konuma kopyalayın:
# uygun herhangi bir yöntemle new-server'a

# Yeni örneği nazikçe kapatın (eğer henüz başlatıldıysa)
new-server$ bin/stop

# Yeni verileri taşıyın, isterseniz onları silebilirsiniz de
new-server$ mkdir backup-new-server
new-server$ mv config/ data/ backup-new-server/

# config/data dizinini yeniden doldurun
new-server$ tar --extract --file backup-old-server.tar

# Konteynerleri başlatın
new-server$ bin/up
```

#### Docker Compose

```bash
# Eski örneği nazikçe kapatın
old-server$ docker stop sharelatex
old-server$ docker stop mongo redis

# Tar arşivini oluşturun
old-server$ tar --create --file backup-old-server.tar ~/OVERLEAF_data ~/mongo_data ~/redis_data

# backup-old-server.tar dosyasını old-server'dan
# uygun herhangi bir yöntemle new-server'a

# Yeni örneği nazikçe kapatın (eğer henüz başlatıldıysa)
new-server$ docker stop sharelatex
new-server$ docker stop mongo redis

# Yeni verileri taşıyın, isterseniz onları silebilirsiniz de
new-server$ mkdir backup-new-server
new-server$ mv ~/OVERLEAF_data ~/mongo_data ~/redis_data backup-new-server/

# Veri dizinlerini yeniden doldurun
new-server$ tar --extract --file backup-old-server.tar

# Konteynerleri başlatın
new-server$ docker start mongo redis
new-server$ docker start sharelatex
```

Şuna bağlı olarak: **docker-compose.yml** dosya, şu yollarını ayarlamanız gerekebilir: `mongo`, `redis`, `overleaf` birimlerin.

{% hint style="info" %}
root kullanıcısı olarak (veya sudo ile) çalıştırıldığında tar, dosya sahibi/grubu ve izinleri korur; bu, yedek geri yüklenirken kritik öneme sahiptir.
{% endhint %}

### Klasörler ayrıntılı olarak

{% hint style="info" %}
Aşağıdaki klasörlerde ek ipuçları vardır:

* (b) yedeklere dahil edin; tutarlılığı sağlamak için örnek durdurulmuşken en iyisidir
* (d) silinebilir
* (e) geçici dosyalar; örnek durdurulduğunda silinebilir
  {% endhint %}

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ılmaz; daha önce özel bir synctex ikili dosyası kullanılıyordu (synctex, .tex dosyaları ile PDF arasındaki 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ılmaz; daha önce clsi önbellek ayrıntıları saklanırdı (ya basit bellek içi eşleştirmelere taşındı ya da diski tarıyoruz)
      4. db.sqlite-wal (d)
         * son sürümde kullanılmaz; db.sqlite'ye bakın
      5. output (e)
         * istemciye sunmak için LaTeX derleme çıktısının saklanması
      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 oluşan geçici dosyalar
      2. uploads (e)
         * dosya yüklemelerinin arabelleğe alınması (ikili dosya/yeni-proje-zip'ten yükleme)
      3. projectHistories (e)
         * tam proje geçmişi taşıma işlemleri için geçici dosyalar


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/on-premises/tr/bakim/data-and-backups.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
