> 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/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/diamorfosi/overleaf-toolkit/s3.md).

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

* Έναν αποθηκευτικό χώρο αντικειμένων συμβατό με S3 για σύνδεση, δείτε [S3](/on-premises/el/diamorfosi/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" %}
Οι κατάλογοι ιστορικού έχουν ήδη τη σωστή διάταξη. Μπορείτε να ανεβάσετε απευθείας από τον source φάκελο με bind mount, κάτι που δεν απαιτεί επιπλέον χώρο στον δίσκο.
{% endhint %}

### Βήματα μετανάστευσης

#### Βήμα 0 τερματίστε την instance

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

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

#### Βήμα 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 buckets σας.
* Αντικαταστήστε επίσης `/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 ξεκινήστε την instance που δείχνει προς το S3

Προσθέστε όλες τις μεταβλητές που σχετίζονται με το S3 στη διαμόρφωσή σας, όπως περιγράφεται στο [Επισκόπηση μεταβλητών](/on-premises/el/diamorfosi/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 %}

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

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

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

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

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

{% 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ος μετασχηματισμός αλλάζει τη διάταξη καταλόγων σε επίπεδη. Τα wildcards διασφαλίζουν ότι εξάγονται μόνο αρχεία, όχι οι γονικοί τους (project) φάκελοι.
{% 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/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.
