−25%

за Windows при годишно плащане, до 31.10. Към плановете

EQVPS

Как да прехвърлиш файлове към VPS: scp, rsync и SFTP

Копирай файлове към и от сървъра със scp, синхронизирай големи папки с rsync, който продължава откъдето е спрял, или ползвай SFTP клиент, дори на NAT с личен SSH порт.

Рано или късно файловете трябва да стигнат до сървъра: билд на сайта, dump на базата, конфигурация, която си написал локално. Не ти трябва FTP сървър за това: SSH вече ти дава три добри инструмента. Всички примери ползват адреси за документация; смени ги с адреса на сървъра си.

Знай данните си за връзка

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: интерактивно или графично

Клиентът за командния ред работи като малък файлов мениджър:

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

Предпочиташ графичен интерфейс? FileZilla, WinSCP или Cyberduck се свързват със същите данни: протокол SFTP, твоят хост, порт 22 (или твоят NAT порт), потребител root и твоят SSH ключ или парола.

По-бързо със SSH ключове

Всички тези инструменти ползват SSH, така че SSH ключ спира въпросите за парола и ти позволява да автоматизираш прехвърлянията от cron. Ако още не си го направил: автентикация със SSH ключове. Новите сървъри на EQVPS приемат root паролата от панела, докато не минеш на ключове, и препоръчваме да го направиш още първия ден.

Големи прехвърляния

За десетки гигабайти rsync е единственият разумен избор: ако връзката падне, пусни същата команда отново и тя ще продължи оттам, където е спряла. Пускай я в tmux или screen на изпращащата машина, за да не я спре затварянето на лаптопа.

Свързани

Въпроси

Каква е разликата между scp и rsync?

scp копира всичко всеки път. rsync сравнява двете страни и праща само промененото, може да продължи прекъснати прехвърляния и да огледа папка точно. За един файл scp стига; за папки, които синхронизираш редовно, ползвай rsync.

Как да ползвам нестандартен SSH порт?

scp и sftp ползват главно -P (scp -P 20123), ssh малко -p, а rsync го приема така: rsync -e 'ssh -p 20123'. В NAT плановете на EQVPS личният SSH порт се показва в панела.

Мога ли да ползвам графичен клиент?

Да. Всеки SFTP клиент (FileZilla, WinSCP, Cyberduck) се свързва със същия хост, порт, потребител и 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.

Коментари

Още няма коментари. Бъди първият.

Остави коментар

Коментарите се модерират преди да се появят.