scp і rsync: копіювання файлів
Дві команди для передавання файлів між вашим комп'ютером і сервером: коли достатньо scp, чим корисний rsync і як не перезаписати чужий каталог через слеш у кінці.
Оновлено 23 серпня 2026 р.
Графічний клієнт стане в пригоді для одноразового редагування, але розгортання та резервні копії зручніше робити однією командою.
scp: одноразове копіювання
Синтаксис такий самий, як у cp, лише з адресою машини:
scp dump.sql root@203.0.113.10:/root/
scp root@203.0.113.10:/var/log/nginx/error.log ./
scp -r ./site root@203.0.113.10:/var/www/
Перша команда надсилає файл, друга забирає його назад, третя копіює цілий каталог (-r).
Якщо SSH працює на іншому порту, вкажіть його великою -P:
scp -P 2222 dump.sql root@203.0.113.10:/root/
З файлом ~/.ssh/config команди стають коротшими: scp dump.sql vds:/root/.
rsync: синхронізація
rsync передає лише відмінності, уміє відновити перерване передавання та показувати прогрес. Для повторних розгортань він у багато разів швидший.
rsync -avz --progress ./site/ root@203.0.113.10:/var/www/example.com/
| Прапорець | Що робить |
|---|---|
-a | Зберігає права, часові мітки, посилання |
-v | Виводить список файлів |
-z | Стискає потік |
--progress | Показує прогрес передавання |
--delete | Видаляє на машині все, чого немає у вас |
--exclude | Пропускає все зайве |
Приклад чистого розгортання:
rsync -avz --delete \
--exclude '.git' --exclude 'node_modules' --exclude '.env' \
./site/ vds:/var/www/example.com/
Забрати копію з машини до себе:
rsync -avz vds:/root/backup-2026-08-23.tar.gz ./backups/
Скісна риска в кінці джерела означає «вміст каталогу».
./site/кладе файли всередину цільового каталогу,./siteстворює підкаталогsiteвсередині цільового. Половина всіх «зниклих» розгортань трапляється саме через це.
Обережно з --delete
Прапорець --delete робить каталог на машині точною копією вашого: усе зайве видаляється без запитань. Спершу зробіть пробний запуск:
rsync -avzn --delete ./site/ vds:/var/www/example.com/
Прапорець -n лише показує, що сталося б. Коли переконаєтеся, приберіть n.
Швидкість
Швидкість диска обмежена за тарифом: запис — 60 МБ/с на ядро (не менше 60 і не більше 400), читання — удвічі більше, а сплеск утричі понад ліміт триває 30 секунд. Пропускна здатність мережі — до 500 Мбіт/с. На VDS-1 завантаження великого архіву впреться в ліміт запису, і це очікувано, а не збій. Щоб перевірити, що відбувається:
df -h
iostat -x 2
Типові помилки
| Симптом | Причина |
|---|---|
Permission denied | Ви пишете в каталог, що не належить вашому користувачу — увійдіть як root або змініть власника |
No such file or directory | Каталогу на машині немає, а scp його не створить: виконайте mkdir -p заздалегідь |
| Файли опинилися на рівень вище | Бракує або зайва скісна риска в кінці шляху |
rsync: command not found | Встановіть пакунок з обох боків: apt install -y rsync |
| Сайт повертає 403 після розгортання | Не встановлено власника: chown -R www-data:www-data /var/www/example.com |
Якщо вам зручніше з графічним клієнтом, дивіться передавання файлів через SFTP.