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

# Μεταφορά σε S3

## Μεταφορά σε S3

{% hint style="info" %}
Αυτές οι οδηγίες αφορούν την έκδοση v5.x και νεότερες. Αν ακολουθείτε αυτόν τον οδηγό για παλαιότερη έκδοση, χρησιμοποιήστε `sharelatex` αντί για `overleaf` στα ονόματα διαδρομών και `SHARELATEX_` πρόθεμα αντί για `OVERLEAF_` για μεταβλητές περιβάλλοντος.
{% endhint %}

{% hint style="warning" %}
Πελάτες Server Pro: Επικοινωνήστε με την υποστήριξη πριν μεταφέρετε τα δεδομένα σας στο S3.
{% endhint %}

{% hint style="success" %}
**Θα χαρούμε να σας ακούσουμε!** Αν θέλετε να μοιραστείτε μαζί μας πόσα αρχεία μεταφέρατε, τον συνολικό τους όγκο και πόσο χρόνο πήρε η μεταφορά, στείλτε email στο [`support@overleaf.com`](mailto:support@overleaf.com) .
{% endhint %}

Αυτός ο οδηγός θα σας καθοδηγήσει στη μεταφορά από αποθήκευση στον δίσκο σε αποθηκευτικό αντικειμένων συμβατό με S3. Αναφέρεται στις ενότητες του εγγράφου εισαγωγής στο [Ρύθμιση S3](/on-premises/el/rythmisi/overleaf-toolkit/s3.md).

### Απαιτήσεις

* Ένα αποθηκευτικό αντικειμένων συμβατό με S3 με το οποίο να επικοινωνείτε, δείτε [S3](/on-premises/el/rythmisi/overleaf-toolkit/s3.md#s3-setup) για επιλογές
* Ελεύθερος χώρος στον δίσκο για τη μεταφορά των υπαρχόντων δεδομένων, περίπου το τρέχον μέγεθος στον δίσκο
* Ένα παράθυρο συντήρησης για την πραγματική μεταφορά
* Ένα πλήρες αντίγραφο ασφαλείας, συμπεριλαμβανομένης της ρύθμισης, για να επιτρέπεται η επαναφορά από αυτό

### Υπολογίστε το μέγεθος δίσκου που απαιτείται για τη μεταφορά

Μπορούμε να χρησιμοποιήσουμε `du` για τον υπολογισμό της τρέχουσας χρήσης δίσκου:

```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
```

Σε περίπτωση που δεν διαθέτετε επαρκή χώρο στον δίσκο στον τρέχοντα διακομιστή, δοκιμάστε να συνδέσετε έναν άλλο δίσκο στον διακομιστή.

{% hint style="info" %}
Οι κατάλογοι ιστορικού έχουν ήδη τη σωστή διάταξη. Μπορείτε να ανεβάσετε απευθείας από τον πηγαίο φάκελο με bind mount, κάτι που δεν απαιτεί επιπλέον χώρο στον δίσκο.
{% endhint %}

### Βήματα μεταφοράς

#### Βήμα 0: τερματίστε την παρουσία

Πρέπει να βεβαιωθούμε ότι όλα τα αρχεία χρήστη/προτύπων θα μεταφερθούν. Είναι καλύτερο να τερματίσετε την παρουσία για να αποφύγετε την παράλειψη αρχείων που ανέβηκαν πρόσφατα.

Δείτε τον οδηγό μας για την εκτέλεση ενός συνεπούς αντιγράφου ασφαλείας για τη διαδικασία τερματισμού.

#### Βήμα 1: επανεγγραφή της διάταξης καταλόγων

Πρέπει να ξαναγράψουμε τη διάταξη καταλόγων των αρχείων έργου για να τα ανεβάσουμε στο S3. Η διάταξη καταλόγων για το τοπικό αποθηκευτικό σύστημα στο filestore είναι `<project-id>_<file-id>` και η διάταξη καταλόγων στο S3 είναι `<project-id>/<file-id>`.

Στη συνέχεια, `/srv/overleaf-s3-migration` χρησιμοποιείται για την αποθήκευση των αρχείων στη νέα διάταξη καταλόγων.

Μπορούμε να χρησιμοποιήσουμε `tar` για την επανεγγραφή της διάταξης:

```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: ανεβάστε τα αρχεία

Ανάλογα με τις προτιμήσεις σας, μπορείτε να χρησιμοποιήσετε τον πελάτη S3 minio mc ή το aws cli για να ανεβάσετε τα αρχεία στο αποθηκευτικό αντικειμένων συμβατό με S3.

**aws cli**

{% hint style="info" %}

* Εδώ θα πρέπει να αντικαταστήσετε `overleaf-user-files`, `overleaf-template-files`, `overleaf-project-blobs` και `overleaf-chunks` με τα ονόματα των κάδων S3 σας.
* Αντικαταστήστε επίσης `/srv/overleaf-bind-mount` με την τοπική διαδρομή του `/var/lib/overleaf` bind mount. Από προεπιλογή, αυτό είναι `~/overleaf_data` σε ανάπτυξη docker-compose.yml και `<toolkit-checkout>/data/overleaf` όταν χρησιμοποιείτε το Toolkit.
  {% 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**

Χρησιμοποιούμε εδώ το ψευδώνυμο διακομιστή "s3", μπορεί να έχετε επιλέξει άλλο όνομα.

{% 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: ξεκινήστε την παρουσία με στόχο το S3

Προσθέστε όλες τις μεταβλητές που σχετίζονται με το S3 στη ρύθμισή σας, όπως περιγράφεται λεπτομερώς στην [Επισκόπηση μεταβλητών](/on-premises/el/rythmisi/overleaf-toolkit/s3.md#overview-of-variables) ενότητα στον [S3](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/s3) οδηγό ρύθμισης.

Για ανάπτυξη Docker Compose, μπορείτε επίσης να αφαιρέσετε το bind mount για τον κατάλογο δεδομένων από την ενότητα volumes.

{% hint style="success" %}
Παρακαλούμε διατηρήστε το [bind mount ενός scratch disk για παροδικά αρχεία](/on-premises/el/ypostiriksi/troubleshooting.md#running-overleaf-with-an-nfs-filesystem) στη θέση του.
{% endhint %}

Μπορείτε τώρα να ξεκινήσετε την παρουσία και να επαληθεύσετε τη μεταφορά:

* μπορούν να κάνουν προεπισκόπηση δυαδικών αρχείων στον επεξεργαστή
* μπορούν να συντάξουν ένα PDF με εικόνες
* μπορούν να ανεβάσουν νέα αρχεία

### Επαναφορά

Μπορείτε να αναιρέσετε τη μεταφορά ομαλά, αντιστρέφοντας τα βήματα:

1. Τερματίστε την παρουσία
2. Αντιγράψτε πίσω τα αρχεία αντιστρέφοντας τη σειρά πηγής/προορισμού
3. Εγγράψτε τα νέα αρχεία πίσω στον τοπικό κατάλογο χρησιμοποιώντας έναν αντίστροφο `μετασχηματισμό`
4. Επανεκκινήστε την παρουσία με την παλιά ρύθμιση

{% code overflow="wrap" %}

```shell
# Όταν χρησιμοποιείτε 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

# Όταν χρησιμοποιείτε 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
```

{% endcode %}

```shell
# Εγγραφή αρχείων πίσω στον τοπικό Server CE/Server Pro
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" %}
Ο πρώτος μετασχηματισμός αφαιρεί τον φάκελο ανώτατου επιπέδου. Ο 2ος μετασχηματισμός αλλάζει τη διάταξη καταλόγων σε επίπεδη. Οι χαρακτήρες μπαλαντέρ διασφαλίζουν ότι εξάγονται μόνο αρχεία, όχι οι γονικοί φάκελοί τους (του έργου).
{% 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/el/syntirisi/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.
