−25%

στα Windows με ετήσια χρέωση, έως 31/10. Δείτε τα πακέτα

EQVPS

Πώς να μεταφέρετε αρχεία σε VPS: scp, rsync και SFTP

Αντιγράψτε αρχεία προς και από τον server με scp, συγχρονίστε μεγάλους φακέλους με rsync που συνεχίζει από εκεί που σταμάτησε, ή χρησιμοποιήστε client SFTP, ακόμα και σε NAT με προσωπική θύρα SSH.

Αργά ή γρήγορα τα αρχεία πρέπει να φτάσουν στον server: ένα build του site, ένα dump της βάσης, μια ρύθμιση που γράψατε τοπικά. Δεν χρειάζεστε FTP server γι' αυτό: το SSH σας δίνει ήδη τρία καλά εργαλεία. Όλα τα παραδείγματα χρησιμοποιούν διευθύνσεις τεκμηρίωσης· αντικαταστήστε τες με τη διεύθυνση του server σας.

Μάθετε τα στοιχεία σύνδεσής σας

scp: αντιγραφή αρχείου ή φακέλου

Ανέβασμα αρχείου:

scp backup.sql root@203.0.113.10:/root/

Κατέβασμα αρχείου:

scp root@203.0.113.10:/var/log/nginx/access.log .

Ολόκληρος φάκελος:

scp -r ./site root@203.0.113.10:/var/www/

Σε πακέτο NAT προσθέστε τη θύρα με κεφαλαίο -P:

scp -P 20123 backup.sql root@your-nat-host:/root/

rsync: το σωστό εργαλείο για φακέλους

Το rsync στέλνει μόνο διαφορές, δείχνει πρόοδο και συνεχίζει αν πέσει η σύνδεση. Πρέπει να είναι εγκατεστημένο και στις δύο πλευρές (apt install -y rsync).

rsync -avzP ./site/ root@203.0.113.10:/var/www/site/

Με προσαρμοσμένη θύρα SSH:

rsync -avzP -e "ssh -p 20123" ./site/ root@your-nat-host:/var/www/site/

Για να γίνει ο προορισμός ακριβής καθρέφτης (διαγράφοντας και αρχεία που σβήσατε τοπικά), προσθέστε --delete, αλλά πρώτα δείτε τι θα κάνει:

rsync -avzP --delete --dry-run ./site/ root@203.0.113.10:/var/www/site/

Προσοχή στην τελική κάθετο. Το ./site/ αντιγράφει τα περιεχόμενα του site· το ./site αντιγράφει τον ίδιο τον φάκελο μέσα στον προορισμό. Με το --delete, αυτή η διαφορά αποφασίζει ποιος κατάλογος θα αδειάσει.

SFTP: διαδραστικό ή γραφικό

Ο client γραμμής εντολών δουλεύει σαν μικρός διαχειριστής αρχείων:

sftp -P 20123 root@your-nat-host
sftp> put backup.sql
sftp> get /etc/nginx/nginx.conf
sftp> exit

Προτιμάτε γραφικό περιβάλλον; Τα FileZilla, WinSCP ή Cyberduck συνδέονται με τα ίδια στοιχεία: πρωτόκολλο SFTP, ο host σας, θύρα 22 (ή η θύρα NAT σας), χρήστης root και το κλειδί SSH ή ο κωδικός σας.

Πιο γρήγορα με κλειδιά SSH

Όλα αυτά τα εργαλεία χρησιμοποιούν SSH, οπότε ένα κλειδί SSH σταματά τα αιτήματα κωδικού και σας επιτρέπει να αυτοματοποιήσετε μεταφορές από cron. Αν δεν το έχετε κάνει ακόμα: έλεγχος ταυτότητας με κλειδιά SSH. Οι νέοι servers του EQVPS δέχονται τον κωδικό root του πίνακα μέχρι να περάσετε σε κλειδιά, κάτι που προτείνουμε να κάνετε την πρώτη μέρα.

Μεγάλες μεταφορές

Για δεκάδες gigabytes, το rsync είναι η μόνη λογική επιλογή: αν πέσει η σύνδεση, τρέξτε ξανά την ίδια εντολή και θα συνεχίσει από εκεί που σταμάτησε. Τρέξτε το μέσα σε tmux ή screen στο μηχάνημα αποστολής, ώστε το κλείσιμο του laptop να μην το σταματήσει.

Σχετικά

Συχνές ερωτήσεις

Ποια η διαφορά ανάμεσα σε scp και rsync;

Το scp αντιγράφει τα πάντα κάθε φορά. Το rsync συγκρίνει τις δύο πλευρές και στέλνει μόνο ό,τι άλλαξε, μπορεί να συνεχίσει διακοπείσες μεταφορές και να καθρεφτίσει έναν φάκελο με ακρίβεια. Για ένα αρχείο αρκεί το scp· για φακέλους που συγχρονίζετε τακτικά, χρησιμοποιήστε rsync.

Πώς χρησιμοποιώ μη τυπική θύρα SSH;

Τα scp και sftp χρησιμοποιούν κεφαλαίο -P (scp -P 20123), το ssh πεζό -p, και το rsync την παίρνει έτσι: rsync -e 'ssh -p 20123'. Στα πακέτα NAT του EQVPS η προσωπική θύρα SSH εμφανίζεται στον πίνακα.

Μπορώ να χρησιμοποιήσω γραφικό client;

Ναι. Κάθε client SFTP (FileZilla, WinSCP, Cyberduck) συνδέεται με τον ίδιο host, θύρα, χρήστη και κλειδί SSH ή κωδικό που χρησιμοποιείτε για το SSH. Διαλέξτε το πρωτόκολλο SFTP, όχι FTP.

Δουλεύει από Windows;

Τα Windows 10 και 11 περιλαμβάνουν OpenSSH, οπότε τα scp και sftp δουλεύουν στο PowerShell ακριβώς όπως εδώ. Το rsync δεν περιλαμβάνεται· χρησιμοποιήστε το από WSL ή τη λειτουργία συγχρονισμού του WinSCP.

Τι σημαίνει η τελική κάθετος στο rsync;

Το 'rsync -a site/ dest/' αντιγράφει τα περιεχόμενα του site μέσα στο dest. Το 'rsync -a site dest/' δημιουργεί το dest/site. Με το --delete, ένα λάθος εδώ μπορεί να αδειάσει τον λάθος φάκελο, οπότε τρέξτε πρώτα με --dry-run.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.

Αφήστε ένα σχόλιο

Τα σχόλια ελέγχονται πριν εμφανιστούν.