> 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/ypostiriksi/support-guides/v5.5.7-migration-binary-files-migration.md).

# (Μεταφορά v5.5.7) Μεταφορά δυαδικών αρχείων

## Μεταφορά δυαδικών αρχείων

Η επερχόμενη κύρια έκδοση `6.0` του Server Pro και της Community Edition θα μειώσει στο μισό τη χρήση αποθηκευτικού χώρου των δυαδικών αρχείων. Περιλαμβάνεται μια online μετεγκατάσταση στην έκδοση `5.5.7` , επιτρέποντας ελάχιστο χρόνο διακοπής ως μέρος της αναβάθμισης.

Από τότε που το Server Pro `4.x`, τα δυαδικά αρχεία αποθηκεύονται δύο φορές: στο ενεργό αποθηκευτικό σύστημα αρχείων στο "filestore" και στο σύστημα πλήρους ιστορικού έργου. Στο εξής, θα αποθηκεύεται ένα μόνο αντίγραφο κάθε αρχείου στο σύστημα πλήρους ιστορικού έργου.

Η μετεγκατάσταση στο ενοποιημένο σύστημα αποθήκευσης αποτελείται από δύο μέρη: Μια νέα σημαία για τον έλεγχο της φάσης της μετεγκατάστασης και ένα σενάριο που επεξεργάζεται όλα τα ενεργά και τα προσωρινά διαγραμμένα έργα.

Φάσεις:

* `OVERLEAF_FILESTORE_MIGRATION_LEVEL=0` (προεπιλογή), τα αρχεία διαβάζονται και γράφονται στο filestore. Τα αρχεία γράφονται στο ιστορικό ασύγχρονα.
* `OVERLEAF_FILESTORE_MIGRATION_LEVEL=1` , τα αρχεία διαβάζονται από το ιστορικό με εναλλακτική ανάγνωση από το filestore και γράφονται και στο filestore και στο ιστορικό. Η υποβάθμιση σε `OVERLEAF_FILESTORE_MIGRATION_LEVEL=0` είναι δυνατή.
* `OVERLEAF_FILESTORE_MIGRATION_LEVEL=2` τα αρχεία διαβάζονται και γράφονται μόνο στο ιστορικό. Η υποβάθμιση σε `OVERLEAF_FILESTORE_MIGRATION_LEVEL=1` δεν είναι δυνατή, εκτός αν πραγματοποιήθηκε "offline".

Κατά την αποθήκευση δεδομένων στο [S3](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/s3) και χρησιμοποιώντας ξεχωριστούς λογαριασμούς υπηρεσίας για το filestore (`OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID`) και το ιστορικό (`OVERLEAF_HISTORY_S3_ACCESS_KEY_ID`): Παρακαλούμε δώστε στον χρήστη filestore δικαίωμα ανάγνωσης στο bucket του ιστορικού για blobs `OVERLEAF_HISTORY_PROJECT_BLOBS_BUCKET` . Η υπηρεσία filestore θα εξυπηρετεί αναγνώσεις από την υπηρεσία compiler στο εξής.

{% hint style="warning" %}
Συνιστάται ιδιαίτερα να εκτελέσετε πρώτα τη μετεγκατάσταση δυαδικών αρχείων σε περιβάλλον μη παραγωγής/sandbox.
{% endhint %}

{% hint style="success" %}
Η τυπική άδεια Server Pro σάς επιτρέπει να εκτελείτε την εφαρμογή σε περιβάλλον παραγωγής καθώς και σε ένα περιβάλλον μη παραγωγής/sandbox· συνιστάται ιδιαίτερα να διαθέσετε ένα περιβάλλον μη παραγωγής για δοκιμές.
{% endhint %}

{% hint style="info" %}
Αν κάνετε αναβάθμιση σε έκδοση Server Pro/CE `6.0` και αργότερα αποφασίσετε ότι θέλετε να υποβαθμίσετε σε παλαιότερη έκδοση, τότε θα πρέπει να επαναφέρετε από πλήρες αντίγραφο ασφαλείας συστήματος.
{% endhint %}

### Διαδικασία μετεγκατάστασης

{% stepper %}
{% step %}

#### Δημιουργήστε αντίγραφο ασφαλείας

Δημιουργήστε ένα πλήρες [αντίγραφο ασφαλείας](https://docs.overleaf.com/on-premises/maintenance/data-and-backups#performing-a-consistent-backup) της εγκατάστασής σας με ένα συνεπές στιγμιότυπο των **mongo**, **redis** και **sharelatex** καταλόγων.
{% endstep %}

{% step %}

#### Ενημερώστε

**Toolkit:** Χρησιμοποιήστε την `$ bin/upgrade` σενάριο για την αναβάθμιση του **toolkit** στην πιο πρόσφατη έκδοση. Όταν σας ζητηθεί, μην **να μην** επιβεβαιώνετε την προτροπή **Αναβάθμιση** image? — αντίθετα, επεξεργαστείτε χειροκίνητα το **config/version** αρχείο και ορίστε την τιμή σε `5.5.7`.

**Παλιό docker-compose.yml:** Ενημερώστε την έκδοση της `sharelatex` υπηρεσία σε `5.5.7`.
{% endstep %}

{% step %}

#### Εκτιμήστε τον αριθμό των επηρεαζόμενων έργων

{% code overflow="wrap" %}

```bash
# Χρήστες του Overleaf Toolkit:
$ bin/docker-compose exec sharelatex /bin/bash -c "source /etc/overleaf/env.sh && source /etc/container_environment.sh && cd /overleaf/services/history-v1 && /sbin/setuser www-data node storage/scripts/back_fill_file_hash.mjs --report"

# Χρήστες παλιού docker-compose.yml:
$ docker compose exec sharelatex /bin/bash -c "source /etc/overleaf/env.sh && source /etc/container_environment.sh && cd /overleaf/services/history-v1 && /sbin/setuser www-data node storage/scripts/back_fill_file_hash.mjs --report"
```

{% endcode %}

Παράδειγμα εξόδου:

{% code fullWidth="false" %}

```
Τρέχουσα κατάσταση:
- Συνολικός αριθμός έργων: 10
- Συνολικός αριθμός διαγραμμένων έργων: 5
Δειγματοληψία 1000 έργων για εκτίμηση προόδου...
Στατιστικά δείγματος για έργα:
- Δειγματοληπτημένα έργα: 9 (90% όλων των έργων)
- Δειγματοληπτημένα έργα με όλα τα hashes παρόντα: 5
- Ποσοστό έργων που χρειάζονται συμπλήρωση hashes: 44% (εκτιμώμενο)
- Τα δειγματοληπτημένα έργα έχουν 11 αρχεία που πρέπει να ελεγχθούν σε σχέση με το σύστημα πλήρους ιστορικού έργου.
- Τα δειγματοληπτημένα έργα έχουν 3 αρχεία που πρέπει να μεταφορτωθούν στο σύστημα πλήρους ιστορικού έργου (εκτιμώντας το 27% όλων των αρχείων).
Στατιστικά δειγμάτων για διαγραμμένα έργα:
- Δειγματοληπτημένα διαγραμμένα έργα: 4 (80% όλων των διαγραμμένων έργων)
- Δειγματοληπτημένα διαγραμμένα έργα με όλα τα hashes παρόντα: 3
- Ποσοστό διαγραμμένων έργων που χρειάζονται συμπλήρωση hashes: 25% (εκτιμώμενο)
- Τα δειγματοληπτημένα διαγραμμένα έργα έχουν 2 αρχεία που πρέπει να ελεγχθούν σε σχέση με το σύστημα πλήρους ιστορικού έργου.
- Τα δειγματοληπτημένα διαγραμμένα έργα έχουν 1 αρχείο που πρέπει να μεταφορτωθεί στο σύστημα πλήρους ιστορικού έργου (εκτιμώντας το 50% όλων των αρχείων).
```

{% endcode %}
{% endstep %}

{% step %}

#### Εκκαθάριση ουρών ιστορικού έργου

{% code overflow="wrap" %}

```bash
# Χρήστες του Overleaf Toolkit:
$ bin/docker-compose exec sharelatex /overleaf/bin/flush-history-queues

# Χρήστες παλιού docker-compose.yml:
$ docker compose exec sharelatex /overleaf/bin/flush-history-queues
```

{% endcode %}

Επαναλάβετε την εκκαθάριση μέχρι να εκκαθαριστούν όλα τα έργα (`"project_ids":0`).

```
βρέθηκαν έργα {"project_ids":0,"limit":100000,"ts":"2025-09-01T10:35:33.353Z"}
σύνολο {"succeededProjects":0,"failedProjects":0}
```

{% hint style="danger" %}
Σε περίπτωση που το "failedProjects" δεν είναι μηδέν, επικοινωνήστε με την υποστήριξη και μην συνεχίσετε με τη μετεγκατάσταση δυαδικών αρχείων.
{% endhint %}
{% endstep %}

{% step %}

#### Προχωρήστε τη φάση μετεγκατάστασης στο 1

Toolkit: Ορίστε `OVERLEAF_FILESTORE_MIGRATION_LEVEL=1` στο `config/variables.env`.

Παλιό docker-compose.yml: Ορίστε `OVERLEAF_FILESTORE_MIGRATION_LEVEL: '1'` στο `περιβάλλον` ενότητα του `sharelatex` υπηρεσία.
{% endstep %}

{% step %}

#### Εφαρμόστε την αλλαγή ρύθμισης και ξεκινήστε την παρουσία

Toolkit: `bin/up -d`

Παλιό docker-compose.yml: `docker compose up -d`
{% endstep %}

{% step %}

#### Επαληθεύστε την πρόσβαση στα δυαδικά αρχεία

Ανοίξτε ένα έργο στον επεξεργαστή Overleaf στον browser και επιλέξτε ένα δυαδικό αρχείο, όπως μια εικόνα.
{% endstep %}

{% step %}

#### Εκτελέστε το σενάριο μετάβασης

{% code overflow="wrap" %}

```bash
# Χρήστες του Overleaf Toolkit:
$ bin/docker-compose exec sharelatex /bin/bash -c "source /etc/overleaf/env.sh && source /etc/container_environment.sh && cd /overleaf/services/history-v1 && /sbin/setuser www-data node storage/scripts/back_fill_file_hash.mjs --all"

# Χρήστες παλιού docker-compose.yml:
$ docker compose exec sharelatex /bin/bash -c "source /etc/overleaf/env.sh && source /etc/container_environment.sh && cd /overleaf/services/history-v1 && /sbin/setuser www-data node storage/scripts/back_fill_file_hash.mjs --all"
```

{% endcode %}

{% hint style="danger" %}
Αν [διατηρείτε αρχεία καταγραφής](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/logging#persisting-logs) έξω από το **sharelatex** container, βεβαιωθείτε ότι ο ιδιοκτήτης του καταλόγου logs έχει οριστεί στον `www-data` χρήστη (uid=33) ώστε να μπορεί να γραφτεί το αρχείο καταγραφής που παράγεται.
{% endhint %}

Η έξοδος θα πρέπει να μοιάζει ως εξής:

```bash
Ορίστε UV_THREADPOOL_SIZE=16
{"name":"default","hostname":"c25e9faaeb53","pid":971,"level":30,"backend":"fs","msg":"Φόρτωση backend","time":"2025-07-25T15:00:58.166Z","v":0}
Γράφονται αρχεία καταγραφής στο /var/log/overleaf/file-migration-2025-07-25T15_00_58_199Z.log
Ξεκινά η δημιουργία αντιγράφου ασφαλείας των αρχείων του έργου...
Φορτώθηκαν καθολικά blobs: 0
Επεξεργασία μη διαγραμμένων έργων...
Επεξεργάστηκε 1 έργο, χρόνος που πέρασε 0δ
Ολοκληρώθηκε η ενημέρωση ενεργών έργων
Επεξεργασία διαγραμμένων έργων...
Η συλλογή deletedProjects φαίνεται να είναι κενή.

Ολοκληρώθηκε η ενημέρωση διαγραμμένων έργων
Ολοκληρώθηκε.

```

Αν η μετάβαση είναι επιτυχής, θα λάβετε κωδικό εξόδου `0`, και τις τελευταίες γραμμές που δείχνουν ότι δεν υπάρχουν αποτυχίες:

```bash
Ολοκληρώθηκε.
```

Το αρχείο καταγραφής θα μοιάζει ως εξής (χρησιμοποιήστε τη διαδρομή όπως εκτυπώνεται από το σενάριο):

{% code overflow="wrap" %}

```bash
$ docker cp sharelatex:/var/log/overleaf/file-migration-2025-07-25T15_00_58_199Z.log .
$ cat file-migration-2025-07-25T15_00_58_199Z.log
{"name":"file-migration","hostname":"c25e9faaeb53","pid":971,"level":30,"end":"68839a8f577b9f009d947b27 (2025-07-25T14:54:07.000Z)","msg":"η παρτίδα ολοκληρώθηκε πραγματικά","time":"2025-07-25T15:00:58.379Z","v":0}
{"name":"file-migration","hostname":"c25e9faaeb53","pid":971,"level":30,"time":"2025-07-25T15:00:58.383Z","LOGGING_IDENTIFIER":"4effa2000000000000000000","projects":1,"blobs":6,"filesWithHash":5,"filesWithoutHash":2,"filesDuplicated":0,"filesRetries":0,"filesFailed":0,"fileTreeUpdated":0,"badFileTrees":0,"globalBlobsCount":0,"globalBlobsEgress":0,"projectDeleted":0,"projectHardDeleted":0,"fileHardDeleted":0,"mongoUpdates":1,"readFromGCSCount":7,"readFromGCSIngress":28532,"writeToGCSCount":5,"writeToGCSEgress":300,"readFromGCSThroughputMiBPerSecond":0.14925639825786063,"eventLoop":{"idle":48.277844,"active":381.53244699971054,"utilization":0.8876763888372498},"diff":{"eventLoop":{"idle":48.223536,"active":134.04030200059555,"utilization":0.7354190687027976},"projects":1,"blobs":6,"filesWithHash":5,"filesWithoutHash":2,"filesDuplicated":0,"filesRetries":0,"filesFailed":0,"fileTreeUpdated":0,"badFileTrees":0,"globalBlobsCount":0,"globalBlobsEgress":0,"projectDeleted":0,"projectHardDeleted":0,"fileHardDeleted":0,"mongoUpdates":1,"readFromGCSCount":7,"readFromGCSIngress":28532,"writeToGCSCount":5,"writeToGCSEgress":300,"readFromGCSThroughputMiBPerSecond":0.14925639825786063},"deferredBatches":[],"msg":"στατιστικά μετεγκατάστασης αρχείων","v":0}
```

{% endcode %}
{% endstep %}

{% step %}

#### Σταματήστε την παρουσία

Toolkit: `bin/stop sharelatex`

Παλιό docker-compose.yml: `docker compose stop sharelatex`
{% endstep %}

{% step %}

#### Κάντε τα παλιά αρχεία μη προσβάσιμα από την εφαρμογή

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

{% code overflow="wrap" %}

```bash
# Χρήστες Toolkit:
$ bin/docker-compose run --rm --entrypoint mv sharelatex --no-clobber --verbose /var/lib/overleaf/data/user_files /var/lib/overleaf/data/old_user_files

# Χρήστες παλιού docker-compose.yml:
# Υποθέτουμε ότι χρησιμοποιείτε το προεπιλεγμένο bind-mount στο /var/lib/overleaf
$ docker compose run --rm --entrypoint mv sharelatex --no-clobber --verbose /var/lib/overleaf/data/user_files /var/lib/overleaf/data/old_user_files
# Σε περίπτωση που χρησιμοποιείτε επιλεκτικά bind-mounts, μπορείτε απλώς να αφαιρέσετε το bind-mount για το /var/lib/overleaf/data/user_files μέσα στο container.
```

{% endcode %}
{% endstep %}

{% step %}

#### Προχωρήστε τη φάση μετεγκατάστασης στο 2

Toolkit: Ορίστε `OVERLEAF_FILESTORE_MIGRATION_LEVEL=2` στο `config/variables.env`.

Παλιό docker-compose.yml: Ορίστε `OVERLEAF_FILESTORE_MIGRATION_LEVEL: '2'` στο `περιβάλλον` ενότητα του `sharelatex` υπηρεσία.
{% endstep %}

{% step %}

#### Εφαρμόστε την αλλαγή ρύθμισης και ξεκινήστε την παρουσία

Toolkit: `bin/up -d`

Παλιό docker-compose.yml: `docker compose up -d`
{% endstep %}

{% step %}

#### Επαληθεύστε την πρόσβαση στα δυαδικά αρχεία

Ανοίξτε ένα έργο στον επεξεργαστή Overleaf στον browser και επιλέξτε ένα δυαδικό αρχείο, όπως μια εικόνα.
{% endstep %}
{% endstepper %}

#### Μετάβαση εκτός σύνδεσης

Αν θέλετε να αποτρέψετε τους χρήστες από το να μπορούν να συνδεθούν ενώ εκτελείται το σενάριο μετεγκατάστασης δυαδικών αρχείων, ακολουθήστε τα εξής βήματα:

* Συνδεθείτε στην εγκατάσταση Overleaf με λογαριασμό διαχειριστή
* Κάντε κλικ στο **Διαχειριστής** κουμπί και επιλέξτε **Διαχείριση ιστότοπου**
* Κάντε κλικ στο **Άνοιγμα/Κλείσιμο επεξεργαστή** καρτέλα
* Κάντε κλικ στο **Κλείσιμο επεξεργαστή** κουμπί
* Κάντε κλικ στο **Αποσύνδεση όλων των χρηστών** κουμπί

Μόλις γίνει αυτό, αν υπάρχουν χρήστες συνδεδεμένοι θα ανακατευθυνθούν στη σελίδα συντήρησης, και οποιοιδήποτε νέοι χρήστες που επισκέπτονται τη σελίδα σύνδεσης θα δουν τη σελίδα συντήρησης και **δεν θα** μπορούν να συνδεθούν.

Πρέπει να επαναλάβετε αυτά τα βήματα όταν επανεκκινείτε την παρουσία. Για να ξανανοίξετε τον ιστότοπο, απλώς επανεκκινήστε την παρουσία.

#### Μετάβαση online

Είναι δυνατό να εκτελέσετε τα σενάρια μετάβασης ενώ η εφαρμογή εξακολουθεί να λειτουργεί. Υπάρχουν μερικές παράμετροι που πρέπει να ληφθούν υπόψη:

* Η διαδικασία μετεγκατάστασης είναι εντατική σε I/O· θα πρέπει να παρακολουθείτε τη χρήση πόρων ενώ εκτελείται το σενάριο.
* Με υψηλή ταυτόχρονη επεξεργασία, ο event loop στην `filestore` υπηρεσία μπορεί να παρουσιάσει κάποιο μπλοκάρισμα, κάτι που θα οδηγήσει σε υποβαθμισμένη εμπειρία χρήστη. Συνιστούμε να ξεκινήσετε με τις προεπιλεγμένες τιμές των `--concurrency=10` και `--concurrent-batches=1` .
* Μπορείτε να σταματήσετε το σενάριο οποιαδήποτε στιγμή. Η επανεκκίνησή του θα επικυρώσει τα προηγούμενα έργα και θα παραλείψει τα αρχεία που έχουν ήδη επεξεργαστεί. Αυτό είναι χρήσιμο σε περίπτωση που προτιμάτε να εκτελέσετε τη μετεγκατάσταση σε λιγότερο πολυσύχναστες ώρες (π.χ. τη νύχτα).

Η σύστασή μας είναι να κλείσετε τον ιστότοπο και να εκτελέσετε τη μετεγκατάσταση offline σε ένα παράθυρο συντήρησης όταν ο αριθμός των έργων σας είναι μικρότερος από 1000 έργα (βλ. έξοδο του σεναρίου μετεγκατάστασης όταν εκτελείται με `--report`). Αν ο αριθμός των έργων είναι μεγάλος, μπορείτε να εκτελέσετε το script και να παρακολουθείτε την πρόοδό του, και έπειτα να αποφασίσετε αν θα συνεχίσετε να το εκτελείτε online ή offline ανάλογα με τη συγκεκριμένη περίπτωσή σας.

#### Εκκαθάριση παλαιών δεδομένων δυαδικών αρχείων

Όταν ολοκληρώσετε τη μετεγκατάσταση και επιβεβαιώσετε ότι τα έργα μπορούν ακόμη να έχουν πρόσβαση σε όλα τα αρχεία τους, μπορείτε να αφαιρέσετε τον παλιό χώρο αποθήκευσης αρχείων στο `/var/lib/overleaf/data/user_files`. Συνιστούμε ιδιαίτερα να διατηρήσετε αυτά τα αρχεία για λίγο — μπορείτε να τα κάνετε μη προσβάσιμα από την εφαρμογή μετονομάζοντας πρώτα τον φάκελο.

### Αντιμετώπιση προβλημάτων

Θα προσθέσουμε εδώ συμβουλές αντιμετώπισης προβλημάτων. Σημειώστε ότι ενώ συνήθως προσφέρουμε υποστήριξη μόνο σε πελάτες Server Pro, δεδομένης της φύσης αυτής της μετεγκατάστασης, θα κάνουμε επίσης το καλύτερο δυνατό για να υποστηρίξουμε πελάτες CE που αντιμετωπίζουν προβλήματα ειδικά για τη μετεγκατάσταση δυαδικών αρχείων.

Αν το σενάριο μετεγκατάστασης δυαδικών αρχείων αποτύχει (δηλ. τερματιστεί με σφάλμα ή εκτυπώσει μη μηδενικό αριθμό αποτυχημένων έργων), στείλτε τα ακόλουθα στοιχεία στην ομάδα υποστήριξής μας μέσω email [support+filestoremigration@overleaf.com](mailto:support+filestoremigration@overleaf.com?subject=Binary%20file%20migration%20problem\&body=Instance%20Type%3A%20CE%20or%20Server%20Pro%20%28delete%20as%20appropriate%29%0A%0AInstallation%20Type%3A%20Overleaf%20toolkit%20or%20docker-compose.yml%20or%20other%20%28delete%20as%20appropriate%29%0A%0AScript%20output%3A%0A%0Abin%2Fdoctor%20output%20%28if%20using%20toolkit%29%3A%0A), περιγράφοντας:

Θέμα: Πρόβλημα μετεγκατάστασης δυαδικών αρχείων

Κείμενο:

* Τύπος εγκατάστασης: CE ή Server Pro (διαγράψτε ό,τι δεν ισχύει)
* Τύπος εγκατάστασης: Overleaf toolkit ή `docker-compose.yml` ή άλλο (διαγράψτε ό,τι δεν ισχύει)
* Έκδοση: 5.5.x (toolkit: `$ cat config/version`)
* Έξοδος του script μετάβασης (η οποία θα πρέπει να βρίσκεται στο container κάτω από το `/var/log/overleaf`)
* Αναφορά: (εκτελέστε το σενάριο μετεγκατάστασης με `--report`)
* Επεξεργασμένα έργα: (σύμφωνα με την τελευταία εκτέλεση του σεναρίου)
* Διάρκεια της μετάβασης:
* `bin/doctor` έξοδος (όταν χρησιμοποιείτε toolkit)
* Έκδοση toolkit: `$ git rev-parse HEAD` (όταν χρησιμοποιείτε το Toolkit)

Εξετάστε το ενδεχόμενο να επισυνάψετε τα αρχεία καταγραφής για τις `filestore` υπηρεσία στο email. Μπορείτε να τη βρείτε στο `/var/log/overleaf/filestore.log` μέσα στο `sharelatex` container και να τα εξάγετε ως εξής:

```bash
$ docker cp sharelatex:/var/log/overleaf/filestore.log .
# αντικαταστήστε το <timestamp> με τη χρονική σήμανση όπως εκτυπώνεται από το σενάριο
$ docker cp sharelatex:/var/log/overleaf/file-migration-<timestamp>.log .
```

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

#### Αρχεία που λείπουν

Οι παλαιότερες εκδόσεις του Server Pro/CE δημιουργούσαν καταχωρήσεις δέντρου αρχείων πριν ολοκληρωθούν οι μεταφορτώσεις χρηστών, κάτι που θα μπορούσε να προκαλέσει την εμφάνιση αρχείων ως ελλειπόντων όταν μια μεταφόρτωση αποτύγχανε. Μπορεί να βρείτε μερικές από αυτές τις περιπτώσεις καταγεγραμμένες ως σφάλματα κατά την επεξεργασία όλων των file-trees.

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

Σε περίπτωση που ο αριθμός των αρχείων που λείπουν είναι μεγάλος, εξετάστε το ενδεχόμενο να επικοινωνήσετε με την υποστήριξη, δείτε το παραπάνω πρότυπο email.

#### Εντοπισμός χαλασμένων δέντρων αρχείων

Η μετάβαση μπορεί να αποτύχει για έργα που έχουν εσφαλμένο δέντρο αρχείων (για παράδειγμα, όπου τα ονόματα αρχείων είναι κενά). Μπορείτε να βρείτε μια λίστα αυτών των προβλημάτων χρησιμοποιώντας το `find_malformed_filetrees` script που ελέγχει όλα τα έργα στη βάση δεδομένων:

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web && /sbin/setuser www-data node scripts/find_malformed_filetrees.mjs > /tmp/malformed-file-trees.json"
```

{% endcode %}

Για να διορθώσετε τις μη έγκυρες διαδρομές, χρησιμοποιήστε το `fix_malformed_filetree` script, εκτελώντας την εντολή μία φορά για κάθε μη έγκυρη διαδρομή:

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web && /sbin/setuser www-data node scripts/fix_malformed_filetree.mjs --logs=/tmp/malformed-file-trees.json"
```

{% endcode %}


---

# 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/ypostiriksi/support-guides/v5.5.7-migration-binary-files-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.
