> 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/s3-migration.md).

# S3 geçişi

## S3 geçişi

{% hint style="info" %}
Bu talimatlar v5.x ve sonrası içindir. Bu kılavuzu daha eski bir sürüm için izliyorsanız lütfen `sharelatex` yerine `overleaf` yol adlarında ve `SHARELATEX_` önek yerine `OVERLEAF_` ortam değişkenleri için.
{% endhint %}

{% hint style="warning" %}
Server Pro müşterileri: Verilerinizi S3'e taşımadan önce lütfen destek ekibiyle iletişime geçin.
{% endhint %}

{% hint style="success" %}
**Sizden haber almak isteriz!** Kaç dosya taşıdığınızı, toplam hacimlerini ve geçişin ne kadar sürdüğünü bizimle paylaşmak isterseniz, şu adrese e-posta gönderin [`support@overleaf.com`](mailto:support@overleaf.com) .
{% endhint %}

Bu kılavuz, diskteki depolamadan S3 uyumlu bir nesne depolamaya geçişte size yol gösterecektir. Giriş belgesindeki bölümlere atıfta bulunur; bu belge [S3 Kurulumu](/on-premises/tr/yapilandirma/overleaf-toolkit/s3.md).

### Gereksinimler

* Konuşulacak bir S3 uyumlu nesne depolama, seçenekler için bkz. [S3](/on-premises/tr/yapilandirma/overleaf-toolkit/s3.md#s3-setup) seçenekler için
* Mevcut disk boyutuna yaklaşık olarak eşit, var olan verileri taşımak için boş disk alanı
* Asıl geçişi yapmak için bir bakım penceresi
* Ayarlar dahil, ondan geri yükleme yapabilmeyi sağlamak için tam bir yedek

### Geçiş için gereken disk boyutunu tahmin edin

Şunu kullanabiliriz `du` mevcut disk kullanımını hesaplamak için:

```shell
docker exec sharelatex \
  du --human-readable --max-depth=0 /var/lib/overleaf/data/user_files

docker exec sharelatex \
  du --human-readable --max-depth=0 /var/lib/overleaf/data/template_files
```

Mevcut sunucuda yeterli disk alanınız yoksa, sunucuya başka bir disk bağlamayı deneyin.

{% hint style="info" %}
Geçmiş dizinlerinin düzeni zaten doğrudur. Ek disk alanı gerektirmeyen, bağlanmış kaynak klasörden doğrudan yükleme yapabilirsiniz.
{% endhint %}

### Geçiş adımları

#### 0. adım: örneği kapatın

Tüm kullanıcı/şablon dosyalarının taşındığından emin olmamız gerekiyor. Yeni yüklenen dosyaların kaçırılmaması için örneği kapatmak en iyisidir.

Kapatma işlemi için tutarlı bir yedek alma kılavuzumuza bakın.

#### 1. adım: dizin düzenini yeniden yazın

Project dosyalarının dizin düzenini, onları S3'e yüklemek için yeniden yazmamız gerekiyor. Filestore'daki yerel depolama için dizin düzeni şudur: `<project-id>_<file-id>` ve S3'teki dizin düzeni şudur: `<project-id>/<file-id>`.

Aşağıda, `/srv/overleaf-s3-migration` dosyaları yeni dizin düzeninde saklamak için kullanılır.

Şundan yararlanabiliriz `tar` düzeni yeniden yazmak için:

```shell
mkdir -p /srv/overleaf-s3-migration/user_files \
         /srv/overleaf-s3-migration/template_files
docker exec sharelatex \
  tar --create --directory /var/lib/overleaf/data/user_files . \
| tar --extract --directory /srv/overleaf-s3-migration/user_files \
  --transform=sx_x/x
docker exec sharelatex \
  tar --create --directory /var/lib/overleaf/data/template_files . \
| tar --extract --directory /srv/overleaf-s3-migration/template_files \
  --transform=sx_x/xg
```

#### 2. adım: dosyaları yükleyin

Tercihinize bağlı olarak, dosyaları S3 uyumlu nesne depolamanıza yüklemek için minio mc S3 istemcisini veya aws cli'yi kullanabilirsiniz.

**aws cli**

{% hint style="info" %}

* Burada şunu değiştirmeniz gerekir `overleaf-user-files`, `overleaf-template-files`, `overleaf-project-blobs` ve `overleaf-chunks` S3 kovalarınızın adlarıyla.
* Ayrıca şunu da değiştirin `/srv/overleaf-bind-mount` ile `/var/lib/overleaf` bağlama noktasının yerel yolu. `~/overleaf_data` bir docker-compose.yml dağıtımında ve `<toolkit-checkout>/data/overleaf` Toolkit kullanıldığında.
  {% endhint %}

{% code overflow="wrap" %}

```shell
aws s3 sync /srv/overleaf-s3-migration/user_files s3://overleaf-user-files
aws s3 sync /srv/overleaf-s3-migration/template_files s3://overleaf-template-files

aws s3 sync /srv/overleaf-bind-mount/data/history/overleaf-project-blobs s3://overleaf-project-blobs
aws s3 sync /srv/overleaf-bind-mount/data/history/overleaf-chunks s3://overleaf-chunks
```

{% endcode %}

**minio mc**

Burada sunucu takma adı olarak "s3" kullanıyoruz, siz başka bir ad seçmiş olabilirsiniz.

{% code overflow="wrap" %}

```shell
mc mirror /srv/overleaf-s3-migration/user_files s3/overleaf-user-files
mc mirror /srv/overleaf-s3-migration/template_files s3/overleaf-template-files

mc mirror /srv/overleaf-bind-mount/data/history/overleaf-project-blobs s3/overleaf-project-blobs
mc mirror /srv/overleaf-bind-mount/data/history/overleaf-chunks s3/overleaf-chunks
```

{% endcode %}

#### 3. adım: örneği S3'e işaret edecek şekilde başlatın

Ayrıntılar için S3 ile ilgili tüm değişkenleri yapılandırmanıza ekleyin; bu, aşağıdaki bölümde detaylandırılmıştır [Değişkenlere genel bakış](/on-premises/tr/yapilandirma/overleaf-toolkit/s3.md#overview-of-variables) bölümü [S3](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/s3) kurulum kılavuzu.

Docker Compose dağıtımlarında, veri dizini için olan bağlama noktasını volumes bölümünden de kaldırabilirsiniz.

{% hint style="success" %}
Lütfen şunu yerinde bırakın [geçici dosyalar için bir geçici disk bağlama noktası](/on-premises/tr/destek/troubleshooting.md#running-overleaf-with-an-nfs-filesystem) .
{% endhint %}

Artık örneği başlatabilir ve geçişi doğrulayabilirsiniz:

* düzenleyicide ikili dosyaları önizleyebilir
* görüntülü bir PDF derleyebilir
* yeni dosyalar yükleyebilir

### Geri alma

Adımları tersine çevirerek geçişi sorunsuz bir şekilde geri alabilirsiniz:

1. Örneği kapatın
2. Kaynak/hedef sırasını ters çevirerek dosyaları geri aynalayın
3. Yeni dosyaları ters bir `dönüştürme`
4. Örneği eski yapılandırmayla yeniden başlatın

{% code overflow="wrap" %}

```shell
# aws cli kullanılırken
aws s3 sync s3://overleaf-user-files /srv/overleaf-s3-migration/user_files
aws s3 sync s3://overleaf-template-files /srv/overleaf-s3-migration/template_files
aws s3 sync s3://overleaf-project-blobs /srv/overleaf-bind-mount/data/history/overleaf-project-blobs
aws s3 sync s3://overleaf-chunks /srv/overleaf-bind-mount/data/history/overleaf-chunks

# minio mc kullanılırken
mc mirror s3/overleaf-user-files /srv/overleaf-s3-migration/user_files
mc mirror s3/overleaf-template-files /srv/overleaf-s3-migration/template_files
mc mirror s3/overleaf-project-blobs /srv/overleaf-bind-mount/data/history/overleaf-project-blobs
mc mirror s3/overleaf-chunks /srv/overleaf-bind-mount/data/history/overleaf-chunks
```

{% endcode %}

```shell
# Yerel Server CE/Server Pro'ya dosya yazma
tar --create --directory /srv/overleaf-s3-migration/user_files . \
| docker exec --interactive sharelatex \
    tar \
      --extract \
      --keep-old-files \
      --directory /var/lib/overleaf/data/user_files \
      --transform=sx./xx --transform=sx/x_x \
      --wildcards '*/*/*'

tar --create --directory /srv/overleaf-s3-migration/template_files . \
| docker exec --interactive sharelatex \
    tar \
      --extract \
      --keep-old-files \
      --directory /var/lib/overleaf/data/template_files \
      --transform=sx./xx --transform=sx/x_xg \
      --wildcards '*/*/*/*/pdf-converted-cache/*' \
      --wildcards '*/*/*/*/pdf' \
      --wildcards '*/*/*/*/zip'
```

{% hint style="info" %}
İlk dönüştürme üst düzey klasörü kaldırır. İkinci dönüştürme dizin düzenini düz bir düzene çevirir. Joker karakterler, yalnızca dosyaların çıkarılmasını, üst (proje) klasörlerinin çıkarılmamasını sağlar.
{% endhint %}


---

# 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/s3-migration.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.
