> 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/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 takip ediyorsanı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 almayı çok isteriz!** Kaç dosya taşıdığınızı, toplam hacminin ne olduğunu ve taşımanın ne kadar sürdüğünü bizimle paylaşmak isterseniz e-posta gönderin [`support@overleaf.com`](mailto:support@overleaf.com) .
{% endhint %}

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

### Gereksinimler

* Bir S3 uyumlu nesne depolama alanı için, bakın [S3](/on-premises/tr/yapilandirma/overleaf-toolkit/s3.md#s3-setup) seçenekler için
* Mevcut disk boyutunun yaklaşık kadarı kadar, mevcut verileri taşımak için boş disk alanı
* Asıl geçişi yapmak için bir bakım penceresi
* Yapılandırma dahil, ondan geri yüklemeyi etkinleştirecek 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. Bağlanmış kaynak klasörden doğrudan yükleme yapabilirsiniz; bunun için ek disk alanı gerekmez.
{% endhint %}

### Geçiş adımları

#### Adım 0: örneği kapatın

Tüm kullanıcı/şablon dosyalarının taşınmasını sağlamamız gerekiyor. Yeni yüklenen dosyaların gözden kaçmaması için örneği kapatmak en iyisidir.

Kapatma prosedürü için tutarlı bir yedekleme gerçekleştirme kılavuzumuza bakın.

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

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

Aşağıda, `/srv/overleaf-s3-migration` dosyaları yeni dizin düzeninde depolamak 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
```

#### Adım 2: dosyaları yükleyin

Tercihinize bağlı olarak, dosyaları S3 uyumlu nesne depolama alanını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` yerel yolu ile `/var/lib/overleaf` bind-mount'un. Varsayılan olarak bu, `~/overleaf_data` bir docker-compose.yml dağıtımında ve `<toolkit-checkout>/data/overleaf` Toolkit kullanırken.
  {% 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 %}

#### Adım 3: örneği S3'e yönelterek başlatın

S3 ile ilgili tüm değişkenleri yapılandırmanıza ekleyin; ayrıntılar için [Değişkenlere genel bakış](/on-premises/tr/yapilandirma/overleaf-toolkit/s3.md#overview-of-variables) bölümünde [S3](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/s3) kurulum kılavuzuna bakın.

Docker Compose dağıtımları için, veri dizinine ait bind-mount'u volumes bölümünden de kaldırabilirsiniz.

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

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

* düzenleyicide ikili dosyaların önizlemesini yapabilir
* görüntü içeren bir PDF derleyebilir
* yeni dosyalar yükleyebilir

### Geri alma

Adımları tersine çevirerek geçişi sorunsuzca geri alabilirsiniz:

1. Örneği kapatın
2. Kaynak/hedef sırasını ters çevirerek dosyaları geri yansıtın
3. dönüştürme `kullanarak yeni dosyaları yerel dizine geri yazın`
4. Eski yapılandırmayla örneği yeniden başlatın

{% code overflow="wrap" %}

```shell
# aws cli kullanı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ı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 en üst düzey klasörü kaldırır. İkinci dönüştürme dizin düzenini düz bir yapıya çevirir. Joker karakterler yalnızca dosyaların ayıklanmasını, üst (proje) klasörlerinin ayıklanmaması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://ayakaleaf-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.
