Το άρθρο αυτό εξηγεί πώς να συνδεθείτε στο hosting σας στη HOSTDOG μέσω SSH και να εκτελέσετε εντολές Drush για τη διαχείριση του Drupal ιστότοπού σας. Καλύπτει τις πιο συνηθισμένες λειτουργίες — εκκαθάριση cache, εκτέλεση ενημερώσεων βάσης, εισαγωγή και εξαγωγή διαμόρφωσης, διαχείριση modules και δημιουργία backup βάσης — συν έναν πλήρη πίνακα αναφοράς χρήσιμων εντολών Drush. [VERIFY: Επιβεβαίωση έκδοσης Drush διαθέσιμης σε κοινόχρηστο hosting — πιθανώς Drush 12 ή 13 για Drupal 10/11]

Σύνδεση μέσω SSH

Το Drush είναι διαθέσιμο μέσω SSH σε όλα τα πακέτα φιλοξενίας της HOSTDOG. Για να το χρησιμοποιήσετε, πρέπει να συνδεθείτε στον λογαριασμό φιλοξενίας σας μέσω SSH. Αν δεν το έχετε κάνει ξανά, δείτε πώς να συνδεθείτε μέσω SSH.

Μόλις συνδεθείτε, μεταβείτε στον ριζικό κατάλογο Drupal (τον κατάλογο που περιέχει το index.php ή το web/index.php):

cd ~/public_html

Επιβεβαιώστε ότι το Drush είναι διαθέσιμο και ελέγξτε την έκδοση:

drush --version
Συμβουλή: Αν το Drupal project σας χρησιμοποιεί Composer, το Drush είναι πιθανώς εγκατεστημένο ως εξάρτηση project στο vendor/bin/drush. Σε αυτή την περίπτωση, χρησιμοποιήστε vendor/bin/drush αντί για απλά drush, ή προσθέστε το vendor/bin στο PATH σας.

Βασικές εντολές Drush

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

Cache:
Εκκαθάριση όλων των cache

Η πιο χρησιμοποιούμενη εντολή Drush. Εκτελέστε τη μετά από οποιαδήποτε αλλαγή διαμόρφωσης, ενημέρωση module ή ανάπτυξη κώδικα:

drush cr

Το cr είναι το alias για το cache:rebuild. Αναδημιουργεί το service container του Drupal και εκκαθαρίζει όλα τα cache — ισοδύναμο με επίσκεψη στο Administration → Performance → Clear all caches.

Ενημερώσεις βάσης:
Εκτέλεση εκκρεμών ενημερώσεων βάσης

Μετά την ενημέρωση modules ή Drupal core, εκτελέστε ενημερώσεις βάσης για εφαρμογή τυχόν αλλαγών σχήματος:

drush updb -y

Η σημαία -y επιβεβαιώνει αυτόματα όλες τις λειτουργίες ενημέρωσης. Χωρίς αυτή, το Drush θα σας ζητήσει επιβεβαίωση για κάθε ενημέρωση. Να εκτελείτε πάντα drush cr μετά από drush updb.

Διαμόρφωση:
Εισαγωγή και εξαγωγή διαμόρφωσης

Το Drupal 8+ χρησιμοποιεί σύστημα διαχείρισης διαμόρφωσης. Εξάγετε τη διαμόρφωση του ιστότοπού σας σε αρχεία YAML (για ανάπτυξη ή version control):

drush cex -y

Εισάγετε διαμόρφωση από αρχεία YAML (π.χ. μετά από λήψη αλλαγών από version control):

drush cim -y
Σημείωση: Το drush cim θα αντικαταστήσει την ενεργή διαμόρφωσή σας με τα αρχεία στον κατάλογο config/sync. Να ελέγχετε πάντα τις αλλαγές πριν εισάγετε σε production ιστότοπο.
Modules:
Ενεργοποίηση και απενεργοποίηση modules

Ενεργοποίηση module (μετά την εγκατάστασή του μέσω Composer):

drush en module_name -y

Απεγκατάσταση module:

drush pmu module_name -y

Εμφάνιση λίστας όλων των εγκατεστημένων modules με την κατάστασή τους:

drush pm:list --status=enabled
Backup βάσης:
Δημιουργία dump βάσης δεδομένων

Εξάγετε τη βάση δεδομένων Drupal σε αρχείο — χρησιμοποιείτε πριν από ενημερώσεις, μεταφορές ή οποιαδήποτε σημαντική αλλαγή:

drush sql-dump --result-file=~/drupal-backup-$(date +%Y%m%d).sql

Με συμπίεση:

drush sql-dump --gzip --result-file=~/drupal-backup-$(date +%Y%m%d).sql.gz

Δείτε πώς να δημιουργήσετε και να επαναφέρετε backup Drupal για την πλήρη ροή εργασίας backup και επαναφοράς.

Πίνακας αναφοράς εντολών Drush

Εντολή Alias Τι κάνει
drush cache:rebuild drush cr Αναδημιουργεί το service container και εκκαθαρίζει όλα τα cache
drush updatedb drush updb Εκτελεί εκκρεμείς ενημερώσεις βάσης μετά από ενημέρωση
drush config:export drush cex Εξάγει ενεργή διαμόρφωση σε αρχεία YAML
drush config:import drush cim Εισάγει διαμόρφωση από αρχεία YAML στη βάση
drush pm:enable module drush en module Ενεργοποιεί module
drush pm:uninstall module drush pmu module Απεγκαθιστά module
drush pm:list drush pml Εμφανίζει όλα τα modules με κατάσταση, έκδοση και τύπο
drush sql:dump drush sql-dump Εξάγει τη βάση δεδομένων σε αρχείο SQL
drush sql:cli drush sql-cli Ανοίγει MySQL shell για τη βάση δεδομένων Drupal
drush core:status drush status Εμφανίζει έκδοση Drupal, paths και στοιχεία σύνδεσης βάσης
drush watchdog:show drush ws Εμφανίζει πρόσφατα μηνύματα καταγραφής Drupal
drush user:login drush uli Δημιουργεί μοναδικό σύνδεσμο σύνδεσης ως διαχειριστής
drush deploy Εκτελεί ακολουθία deploy: updatedb, cim, cr (Drupal 9.1+)

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

«command not found: drush» μετά τη σύνδεση μέσω SSH

Αν το Drush είναι εγκατεστημένο ως εξάρτηση Composer, βρίσκεται στο vendor/bin/drush μέσα στον κατάλογο project σας. Δοκιμάστε να εκτελέσετε ./vendor/bin/drush --version από τον ριζικό κατάλογο Drupal. Μπορείτε επίσης να προσθέσετε το vendor/bin στο PATH σας στο ~/.bashrc για να χρησιμοποιείτε απευθείας το drush: export PATH="$HOME/public_html/vendor/bin:$PATH"

Το Drush πρέπει να εκτελείται από μέσα σε κατάλογο Drupal. Ελέγξτε τον τρέχοντα κατάλογο με pwd και μεταβείτε στον ριζικό κατάλογο Drupal με cd ~/public_html. Αν το Drupal βρίσκεται σε υποκατάλογο (π.χ. web/), εκτελέστε το Drush από τον ριζικό κατάλογο project που περιέχει το composer.json, όχι από μέσα στο web/.

Αυτό συνήθως σημαίνει ότι το Drupal δεν μπορεί να συνδεθεί στη βάση δεδομένων. Ελέγξτε ότι τα στοιχεία σύνδεσης βάσης στο sites/default/settings.php είναι σωστά. Μπορείτε να δοκιμάσετε τη σύνδεση βάσης με drush status, το οποίο εμφανίζει απευθείας την κατάσταση βάσης.

Χρειάζεστε βοήθεια; Αν αντιμετωπίζετε δυσκολία στη χρήση Drush στο hosting σας στη HOSTDOG, η ομάδα μας είναι διαθέσιμη 24/7. Πλοηγηθείτε στην αρχική σελίδα της HOSTDOG και πατήστε Log in για να υποβάλετε αίτημα υποστήριξης και θα σας εξυπηρετήσουμε άμεσα.