> 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/destek/support-guides/doc-version-recovery.md).

# (v5.0.1 Geçişi) Doc sürümü kurtarma

{% hint style="info" %}
Server Pro sürüm 5.0.1 veya Community Edition sürüm 5.0.1'i hiç çalıştırmadıysanız ya da 5.0.1 ile tamamen yeni bir örnek başlattıysanız, bu kurtarma sürecini çalıştırmanız gerekmez.
{% endhint %}

**Bu sayfadaki güncellemeler:**

* (2024-04-22 13:40 BST): "Yeni güncellemelerin sisteme girmesini durdurun ve tüm değişiklikleri MongoDB'ye aktarın" adımı eklendi.
* (2024-04-23 11:45 BST): 5.0.1'deki bozuk flush'ları hesaba katın ve 5.0.2 başlatılmışsa flush'ları atlayın.

Kurtarma süresi, örneğinizdeki proje sayısına ve boyutuna ile history store tarafından parçalar için kullanılan depolama arka ucuna bağlı olacaktır (şurada tanımlandığı gibi `OVERLEAF_HISTORY_CHUNKS_BUCKET`).

Kurtarma süreci, Server Pro kapsayıcısı içinde uygulamanın başlatılmasını geciktirecektir. Bu süre boyunca site çevrimdışı görünecektir. Kurtarmanın yalnızca Server Pro kapsayıcısının tek bir örneğinden çalıştırılmasını destekliyoruz; yatay ölçeklendirme kullanan diğer tüm işçiler çevrimdışı olmalıdır.

Gerekirse kurtarma sürecini durdurup devam ettirebilirsiniz.

Performans testlerimize göre, kurtarma süreci modern donanımda (3GHz CPU saat hızı ve yerel NVMe depolama) dakikada yaklaşık 10 bin küçük projeyi işleyebilir. Örneğin, 100 bin projeli bir örnek için en az 10+2 dakikalık kesinti süresine izin veren bir bakım penceresi planlayın. Örneğinizdeki proje sayısını tahmin etmek için aşağıdaki sorguyu kullanın:

{% code overflow="wrap" %}

```bash
$ docker exec mongo mongosh sharelatex --quiet --eval 'db.projects.estimatedDocumentCount() + db.deletedProjects.estimatedDocumentCount()'
```

{% endcode %}

Lütfen başlamadan önce aşağıdaki kurtarma adımlarının tamamını okuyun. Server Pro müşterileri, ... ile iletişime geçmekten memnuniyet duyar. <support@overleaf.com> herhangi bir sorunuz olursa.

### Kurtarma süreci

{% stepper %}
{% step %}

#### Sürüm imajlarını çekin

Çekin `5.0.3` sürüm imajlarını.
{% endstep %}

{% step %}

#### Birkaç proje belirleyin

Geçmişi eksik olan birkaç projeyi kimliğe göre belirleyin; ideal olarak bunlardan birinde değişiklik yapma izniniz vardır.
{% endstep %}

{% step %}

#### Bakım planlayın

Kesinti için bir bakım penceresi planlayın.
{% endstep %}

{% step %}

#### Bir işçi hariç hepsini durdurun

Yatay ölçeklendirme kurulumunda bir işçi hariç hepsini durdurun.
{% endstep %}

{% step %}

#### Yeni güncellemeleri durdurun ve tüm değişiklikleri MongoDB'ye aktarın

Yeni güncellemelerin sisteme girmesini durdurun ve tüm değişiklikleri MongoDB'ye aktarın:

1. Düzenleyiciyi kapatın ve tüm kullanıcıların bağlantısını şu adresteki yönetici paneli üzerinden manuel olarak kesin `https://my-server-pro.example.com/admin#open-close-editor` "Open/Close Editor" sekmesinde.
2. Websocket/gerçek zamanlı hizmetini durdurun.

   ```bash
   $ docker exec sharelatex sv stop real-time-overleaf
   ```
3. Gerçek zamanlı hizmetinin çıkmasını bekleyin; bunu şuradan anlayabilirsiniz `kapalı:`.

   ```bash
   $ docker exec sharelatex sv status real-time-overleaf
   run: real-time-sharelatex: (pid 394) 50s, want down, got TERM
   # biraz daha bekleyin...

   $ docker exec sharelatex sv status real-time-overleaf
   kapalı: real-time-sharelatex: 7s, normalde açık
   ```
4. Etkinse git-bridge kapsayıcısını durdurun.

   ```bash
   $ docker stop git-bridge
   ```
5. Eğer 5.0.2'yi hiç çalıştırmadıysanız: belge güncellemeleri için manuel bir flush gerçekleştirin ve başarılı şekilde bitmesini bekleyin.

   Hata durumunda komutu tekrar edebilirsiniz. Eğer art arda çalıştırmalarda sıfırdan farklı bir `failureCount` görürseniz, lütfen geçişi durdurun (hizmetleri şu yoluyla geri yükleyin `docker restart git-bridge sharelatex`) ve destek ekibiyle iletişime geçin.

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">$ docker exec sharelatex bash -c 'source /etc/container_environment.sh &#x26;&#x26; source /etc/overleaf/env.sh &#x26;&#x26; cd services/document-updater &#x26;&#x26; LOG_LEVEL=info node scripts/flush_all.js'
   ...
   {"name":"default","hostname":"...","pid":324,"level":30,"successCount":...,"failureCount":0,"msg":"tüm projelerin flush işlemi tamamlandı","time":"...","v":0}
   Tüm projelerin flush işlemi tamamlandı
   </code></pre>
6. Eğer 5.0.2'yi hiç çalıştırmadıysanız: tüm değişikliklerin Redis'ten aktarılmış olduğundan emin olun.

   Eğer şuradan herhangi bir çıktı alırsanız `redis-cli`, lütfen geçişi durdurun (hizmetleri şu yoluyla geri yükleyin `docker restart git-bridge sharelatex`) ve destek ekibiyle iletişime geçin.

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">$ docker exec redis redis-cli --scan --pattern 'DocVersion:*'
   # redis-cli'den çıktı gelmemesi başarıyı gösterir; şimdi redis-cli'nin çıkış kodunu kontrol edin, sıfır olmalıdır
   $ echo $?
   0
   </code></pre>
7. Bekleyen geçmiş değişikliklerini aktarmayı deneyin.

   Bu, kötü veritabanı geçişi nedeniyle bazı projelerin bozuk geçmişlere sahip olması nedeniyle en iyi çaba esaslı bir flush olmak zorunda olacaktır. Herhangi bir hata, kurtarma sürecinin sonunda geçmişin yeniden senkronize edilmesiyle giderilecektir.

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">$ docker exec sharelatex bash -c 'source /etc/container_environment.sh &#x26;&#x26; source /
   </code></pre>

{% endstep %}

{% step %}

#### Yedek alın

Bir [tutarlı yedekleme](https://docs.overleaf.com/on-premises/maintenance/data-and-backups#performing-a-consistent-backup) örneğinin yedeğini almayı düşünün.
{% endstep %}

{% step %}

#### Yükselt

Sürümüne yükseltin `5.0.3`.
{% endstep %}

{% step %}

#### Otomatik kurtarma

Kurtarma süreci kapsayıcı başlangıcında otomatik olarak çalışır.
{% endstep %}

{% step %}

#### İlerlemeyi takip edin

Günlük dosyasını sonuna kadar izleyerek betiğin ilerlemesini takip edebilirsiniz `/var/lib/overleaf/data/history/doc-version-recovery.log`. Başlangıçta toplam proje sayısını ve işlenen her 1000 proje sonrası bir özet yazdırır.

{% code overflow="wrap" %}

```bash
$ docker exec sharelatex tail --retry --follow /var/lib/overleaf/data/history/doc-vers
```

{% endcode %}
{% endstep %}

{% step %}

#### Kurtarma sürecinin tamamlanmasını bekleyin

Kurtarma sürecinin tamamlanmasını, ya yukarıdaki günlük dosyasını bir `Tamamlandı.` satırı yazdırılana kadar izleyerek ya da `Belge sürümlerinin kurtarılması tamamlandı.` Server Pro kapsayıcısının standart çıktısına yazdırılmasını bekleyerek.
{% endstep %}

{% step %}

#### Kurtarma sürecini doğrulayın

Daha önce geçmişi eksik olan birkaç proje için geçmiş panelini açarak kurtarma sürecini doğrulayın.

1. Test edilecek projeler için yeniden senkronizasyonu hızlandırın (sonunda işlenecekler, ancak sıralarının gelmesini beklemek istemiyoruz.)

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">$ docker exec sharelatex curl -X POST --silent "http://127.0.0.1:3054/project/000000000000000000000000/resync?force=true"
   </code></pre>

   (Test etmek için her bir proje kimliğiyle tekrarlayın, değiştirin `000000000000000000000000` bir seferde bir proje kimliği ile.)
2. Projeler için proje düzenleyicisini açın `https://my-server-pro.example.com/project/000000000000000000000000`
3. Proje için "Geçmiş" panelini açın ve en son içeriği görün.
4. İsteğe bağlı: "Geçmiş" panelini tekrar kapatın. Başlığa yorum eklemek gibi bir kod değişikliği yapın.
5. İsteğe bağlı: Yerel değişikliği flush etmek için yeniden derleme işlemi başlatın. "Geçmiş" panelini tekrar açın ve değişikliği görün. İşiniz bittiğinde değişikliği geri alın.
   {% endstep %}

{% step %}

#### Yatay ölçeklendirme için...

Diğer işçileri yeniden başlatın.
{% endstep %}

{% step %}

#### Örneği çalışır durumda tutun

Lütfen kurtarma sürecini çalıştıran örneği çalışır durumda tutun. Bu, arka planda tüm projelerin geçmişini 1 eşzamanlılıkla yeniden senkronize edecektir. Bu, taban yükte hafif bir artışa neden olacaktır. (Örneği yeniden başlatabilirsiniz, ancak yeniden senkronizasyonlara baştan başlaması gerekecektir.)
{% endstep %}

{% step %}

#### Bittiğinde bize haber verin

Server Pro müşterileri: Kurtarma sürecini tamamladığınızda lütfen destek ekibine haber verin.
{% endstep %}
{% endstepper %}


---

# 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/destek/support-guides/doc-version-recovery.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.
