> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/on-premises/tr/bakim/data-and-backups.md).

# Veriler ve yedekler

Bazen, Overleaf'i geliştirirken veritabanındaki verilerin şemasını değiştirmemiz gerekir; bu süreci 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) ilk olarak; bu, dünyanın en büyük Overleaf örneğidir, bu yüzden çoğu olası durumla daha önce karşılaşılmış olacaktır; ancak verileriniz konusunda hiçbir garanti vermiyoruz. Lütfen bir **tutarlı** verilerinizin yedeği **önce** örneğinizi yükseltirken.

{% hint style="info" %}
Yeni bir Docker imajına yükseltirken, henüz çalıştırılmamış tüm taşıma işlemleri **kullanmayın** otomatik olarak yürütülecektir; bu, veri kümenizin boyutuna bağlı olarak biraz zaman alabilir, günlükleri takip etmek ilerlemeyi gösterecektir. Daha fazla bilgi için, rehberimize bakın. [Günlükleme](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/logging) belgeler.
{% 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; öncelikle proje sürümleri 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 şunlardan biri olabilir `~/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 yapmak

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 oluşturmasını 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şlemine başlamadan önce örneğinizi çevrimdışı duruma almanız gerekir. Server Pro ile başlayarak `3.5.0` kapatma süreci, sitenin kapatılmasını ve kullanıcıların bağlantısının kesilmesini otomatikleştirir.

Örneğinizi kapatmak için şu komutu çalıştırmanız gerekir `bin/docker-compose stop sharelatex` eğer Toolkit dağıtımı kullanıyorsanız veya `docker compose stop sharelatex` Docker Compose kullanıyorsanız.

Şu işlem tamamlandıktan sonra `sharelatex` konteyner durdurulduğunda yedekleme işlemini başlatabilirsiniz.

Yedekleme işlemi tamamlandıktan sonra **başarıyla** şunu başlatmanız gerekecek: `sharelatex` konteyner. Bunu yapmak için şunu çalıştırın `bin/docker-compose start sharelatex` eğer Toolkit dağıtımı kullanıyorsanız veya `docker compose start sharelatex` 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 işlevsel 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 depolanan kullanıcı ve proje verilerinin bir 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 `config/overleaf.rc` şunu kullanarak `OVERLEAF_DATA_PATH` ortam değişkeninde belirtilir; ancak örneğinizin ne zaman oluşturulduğuna bağlı olarak bu `data/sharelatex`.

gibi bir araç kullanmak **rsync** bu dizini özyinelemeli olarak kopyalamak, eksiksiz bir yedek oluşturulduğundan emin olmak 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ında AOF kalıcılığı varsayılan olarak **yeni** kurulumlarda etkindir; mevcut kullanıcılar AOF'yi etkinleştirme hakkında daha fazla bilgiyi [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 ihtimalle 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. Genel hatlarıyla, şunun bir tar arşivini oluştururuz `mongo`, `redis` ve `overleaf` birimleri, yeni sunucuya kopyalar ve orada yeniden açarız.

#### Toolkit

```bash
# Eski örneği düzgünce 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
# uygun herhangi bir yöntemle new-server'a

# Yeni örneği düzgünce kapatın (henüz başlatıldıysa)
new-server$ bin/stop

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

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

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

#### Docker Compose

```bash
# Eski örneği düzgünce 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 düzgünce kapatın (henüz başlatıldıysa)
new-server$ docker stop sharelatex
new-server$ docker stop mongo redis

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

# Veri dizinlerini tekrar 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
```

Sizin **docker-compose.yml** dosyaya, ... 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/grubunu ve izinlerini korur; bu, yedeği geri yüklerken kritik öneme sahiptir.
{% endhint %}

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

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

* (b) yedeklere dahil edin; tutarlılığı sağlamak için örnek durdurulduğunda 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)
         * en son sürümde kullanılmıyor; 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. önbellek (e)
         * derlemeler için ikili dosya önbelleği
      2. derlemeler (e)
         * LaTeX derlemesi burada gerçekleşir
      3. db.sqlite (d)
         * en son sürümde kullanılmıyor; daha önce clsi önbellek ayrıntılarını saklıyordu (ya basit bellek içi eşlemelere taşındı ya da diski tarıyoruz)
      4. db.sqlite-wal (d)
         * en son sürümde kullanılmıyor; bkz. db.sqlite
      5. çıktı (e)
         * istemciye sunmak için LaTeX derleme çıktısının saklandığı yer
      6. template\_files (b)
         * şablon sisteminin görsel önizlemeleri (yalnızca Server Pro)
      7. user\_files (b)
         * projelerin ikili dosyaları
      8. geçmiş (b)
         * tam proje geçmişi dosyaları
   3. tmp
      1. dumpFolder (e)
         * zip dosyalarıyla çalışırken oluşan geçici dosyalar
      2. yüklemeler (e)
         * dosya yüklemelerinin tamponlanması (ikili dosya/yeni-proje-zip yüklemesi)
      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://ayakaleaf-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.
