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

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

## Μετεγκατάσταση δυαδικών αρχείων

Η επερχόμενη κύρια έκδοση `6.0` η έκδοση του Server Pro και της Community Edition θα μειώσει στο μισό τη χρήση αποθήκευσης των δυαδικών αρχείων. Περιλαμβάνεται διαδικτυακή μετεγκατάσταση στην έκδοση `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` δεν είναι δυνατή, εκτός εάν πραγματοποιήθηκε "εκτός σύνδεσης".

Κατά την αποθήκευση δεδομένων στο [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" %}
Συνιστάται ιδιαίτερα να εκτελέσετε πρώτα τη μετεγκατάσταση δυαδικών αρχείων σε περιβάλλον μη παραγωγής/δοκιμών.
{% endhint %}

{% hint style="success" %}
Η τυπική άδεια Server Pro σάς επιτρέπει να εκτελείτε την εφαρμογή σε περιβάλλον παραγωγής καθώς και σε ένα περιβάλλον μη παραγωγής/δοκιμών· συνιστάται ιδιαίτερα να δημιουργήσετε ένα περιβάλλον μη παραγωγής για δοκιμές.
{% 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) του instance σας με ένα συνεπές στιγμιότυπο των **mongo**, **redis** και **sharelatex** καταλόγων.
{% endstep %}

{% step %}

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

**Toolkit:** Χρησιμοποιήστε την `$ bin/upgrade` σενάριο για την αναβάθμιση του **Toolkit** στην πιο πρόσφατη έκδοση. Όταν σας ζητηθεί, μην **μην** επιβεβαιώσετε την προτροπή **Αναβάθμιση** εικόνα; — αντί γι' αυτό, επεξεργαστείτε χειροκίνητα το **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% όλων των έργων)
- Έργα στο δείγμα με όλα τα hash παρόντα: 5
- Ποσοστό έργων που χρειάζονται συμπλήρωση hash: 44% (εκτιμώμενο)
- Τα έργα του δείγματος έχουν 11 αρχεία που πρέπει να ελεγχθούν έναντι του πλήρους συστήματος ιστορικού έργων.
- Τα έργα του δείγματος έχουν 3 αρχεία που πρέπει να μεταφορτωθούν στο πλήρες σύστημα ιστορικού έργων (εκτίμηση 27% όλων των αρχείων).
Στατιστικά δείγματος για τα διαγραμμένα έργα:
- Διαγραμμένα έργα στο δείγμα: 4 (80% όλων των διαγραμμένων έργων)
- Διαγραμμένα έργα στο δείγμα με όλα τα hash παρόντα: 3
- Ποσοστό διαγραμμένων έργων που χρειάζονται συμπλήρωση hash: 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 %}

#### Μεταφορά εκτός σύνδεσης

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

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

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

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

#### Μεταφορά online

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

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

Η σύστασή μας είναι να κλείσετε τον ιστότοπο και να εκτελέσετε τη μετεγκατάσταση εκτός σύνδεσης σε ένα παράθυρο συντήρησης όταν ο αριθμός των έργων σας είναι μικρότερος από 1000 έργα (δείτε την έξοδο του σεναρίου μετεγκατάστασης όταν εκτελείται με `--report`). Αν ο αριθμός των έργων είναι μεγάλος, μπορείτε να εκτελέσετε το σενάριο και να παρακολουθείτε την πρόοδό του, και στη συνέχεια να αποφασίσετε αν θα συνεχίσετε να το εκτελείτε 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), αναφέροντας:

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

Σώμα:

* Τύπος Instance: CE ή Server Pro (διαγράψτε ό,τι δεν ισχύει)
* Τύπος εγκατάστασης: Overleaf toolkit ή `docker-compose.yml` ή άλλο (διαγράψτε ό,τι δεν ισχύει)
* Έκδοση: 5.5.x (toolkit: `$ cat config/version`)
* Έξοδος του σεναρίου μεταφοράς (η οποία θα πρέπει να βρίσκεται στο 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-tree πριν ολοκληρωθούν οι μεταφορτώσεις χρηστών, κάτι που θα μπορούσε να προκαλέσει την εμφάνιση αρχείων ως ελλειπόντων όταν μια μεταφόρτωση αποτύγχανε. Ίσως βρείτε μερικές από αυτές τις περιπτώσεις να αναφέρονται ως σφάλματα κατά την επεξεργασία όλων των file-trees.

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

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

#### Εύρεση κατεστραμμένων δέντρων αρχείων

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

{% 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` σενάριο, εκτελώντας την εντολή μία φορά για κάθε κακή διαδρομή:

{% 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://overleaf-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.
