> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# S3 geçişi

## S3 geçişi

<Info>
  Bu talimatlar v5.x ve sonraki sürümler içindir. Bu kılavuzu daha eski bir sürüm için izliyorsanız, yol adlarında `overleaf` yerine `sharelatex`, ortam değişkenlerinde ise `OVERLEAF_` yerine `SHARELATEX_` önekini kullanın. v6 ve sonraki sürümler için eski `user_files` komutlarını atlayın.
</Info>

<Check>
  <strong>Sizden haber almak isteriz!</strong> Kaç dosya taşıdığınızı, toplam hacimlerini ve geçişin ne kadar sürdüğünü bizimle paylaşmak isterseniz [`ayaka-notes@outlook.com`](mailto:support@overleaf.com) adresine e-posta gönderin.
</Check>

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

### Gereksinimler

* İletişim kurulacak S3 uyumlu bir nesne depolama; seçenekler için [#s3-setup](/tr/on-premises/configuration/overleaf-toolkit/s3#s3-setup "mention") bölümüne bakın
* Mevcut verileri taşımak için, yaklaşık olarak diskteki mevcut boyut kadar boş disk alanı
* Asıl geçişi yapmak için bir bakım penceresi
* Geri yükleme yapabilmek için yapılandırma dahil tam bir yedek

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

Mevcut disk kullanımını hesaplamak için `du` kullanabiliriz:

```shell theme={null}
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.

<Info>
  Geçmiş dizinleri zaten doğru düzene sahiptir. Ek disk alanı gerektirmeyen bind-mount edilmiş kaynak klasörden doğrudan yükleme yapabilirsiniz.
</Info>

### Geçiş adımları

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

Tüm kullanıcı/şablon dosyalarının taşınacağından emin olmamız gerekir. Yeni yüklenen dosyaların gözden kaçmasını önlemek için örneği kapatmak en iyisidir.

Kapatma prosedürü için lütfen tutarlı bir yedekleme yapma kılavuzumuza bakın.

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

Proje dosyalarını S3'e yüklemek için dizin düzenlerini yeniden yazmamız gerekir. filestore'daki yerel depolamanın dizin düzeni `<project-id>_<file-id>`, S3'teki dizin düzeni ise `<project-id>/<file-id>` şeklindedir.

Aşağıda, dosyaları yeni dizin düzeninde saklamak için `/srv/overleaf-s3-migration` kullanılmaktadır. `/srv/overleaf-bind-mount` değerini `/var/lib/overleaf` konumuna bağlanan ana makine diziniyle değiştirin. Kopyalama komutlarını, bu dizinleri okuma ve yazma iznine sahip olarak ana makinede çalıştırın; konteyner durdurulmuş olarak kalır.

Düzeni yeniden yazmak için `tar` kullanabiliriz:

```shell theme={null}
mkdir -p /srv/overleaf-s3-migration/user_files \
         /srv/overleaf-s3-migration/template_files
tar --create --directory /srv/overleaf-bind-mount/data/user_files . \
| tar --extract --directory /srv/overleaf-s3-migration/user_files \
  --transform=sx_x/x
tar --create --directory /srv/overleaf-bind-mount/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 depolamanıza yüklemek için minio mc S3 istemcisini veya aws cli'yi kullanabilirsiniz.

**aws cli**

<Info>
  * Burada `overleaf-user-files`, `overleaf-template-files`, `overleaf-project-blobs` ve `overleaf-chunks` değerlerini S3 bucket'larınızın adlarıyla değiştirmelisiniz.
  * Ayrıca `/srv/overleaf-bind-mount` değerini `/var/lib/overleaf` bind-mount'unun yerel yoluyla değiştirin. Varsayılan olarak bu, docker-compose.yml kurulumunda `~/overleaf_data`, Toolkit kullanıldığında ise `<toolkit-checkout>/data/overleaf` olur.
</Info>

```shell wrap theme={null}
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
```

**minio mc**

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

```shell wrap theme={null}
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
```

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

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

Veri dizini bind-mount'unu yerinde tutun: S3'e taşınmayan Zotero veya Mendeley şifreleme anahtarlarını da içerebilir.

<Check>
  Lütfen [geçici dosyalar için ayrılmış disk bind-mount'unu](/tr/on-premises/support/troubleshooting#running-overleaf-with-an-nfs-filesystem) yerinde tutun.
</Check>

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

* editörde ikili dosyaları önizleyebiliyor musunuz
* görseller içeren bir PDF derleyebiliyor musunuz
* yeni dosyalar yükleyebiliyor musunuz

### Geri alma

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

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

```shell wrap theme={null}
# When using aws cli
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

# When using minio mc
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
```

```shell theme={null}
# Write files into local Server CE/Server Pro
tar --create --directory /srv/overleaf-s3-migration/user_files . \
| tar \
      --extract \
      --keep-old-files \
      --directory /srv/overleaf-bind-mount/data/user_files \
      --transform=sx./xx --transform=sx/x_x \
      --wildcards '*/*/*'

tar --create --directory /srv/overleaf-s3-migration/template_files . \
| tar \
      --extract \
      --keep-old-files \
      --directory /srv/overleaf-bind-mount/data/template_files \
      --transform=sx./xx --transform=sx/x_xg \
      --wildcards '*/*/*/*/pdf-converted-cache/*' \
      --wildcards '*/*/*/*/pdf' \
      --wildcards '*/*/*/*/zip'
```

<Info>
  İlk transform üst düzey klasörü kaldırır. İkinci transform dizin düzenini düz bir düzene dönüştürür. Joker karakterler, üst (proje) klasörlerinin değil yalnızca dosyaların çıkarılmasını sağlar.
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.