Рано или поздно файлы нужно закинуть на сервер: сборку сайта, дамп базы, конфиг, написанный локально. FTP-сервер для этого не нужен — SSH уже даёт три хороших инструмента. Во всех примерах документационные адреса; подставьте адрес своего сервера.
Узнайте параметры подключения
- Тариф с выделенным IP:
root@203.0.113.10, порт 22. - NAT-тариф: хост и ваш персональный SSH-порт показаны в панели (например, порт 20123). Этот порт нужен в каждой команде ниже — см. как устроен доступ через NAT.
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/
-aсохраняет права и время изменения,-vвыводит список файлов,-zсжимает,-Pпоказывает прогресс и позволяет докачивать.
С нестандартным 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
Хотите GUI? FileZilla, WinSCP или Cyberduck подключаются с теми же данными: протокол SFTP, ваш хост, порт 22 (или порт NAT), пользователь root и ваш SSH-ключ или пароль.
Быстрее с SSH-ключами
Все инструменты выше работают поверх SSH, так что SSH-ключ убирает запросы пароля — и позволяет запускать передачи из cron. Если ключа ещё нет: аутентификация по SSH-ключу. Новые серверы EQVPS принимают пароль root из панели, пока вы не перейдёте на ключи, — и это мы советуем сделать в первый же день.
Большие передачи
Для десятков гигабайт разумен только rsync: если соединение оборвётся, запустите ту же команду снова — и он продолжит с места остановки. Запускайте его внутри tmux или screen на отправляющей машине, чтобы закрытие ноутбука его не убило.
Комментарии
Пока нет комментариев. Будьте первым.