Skip to content
VDS · Truy cập máy

scp và rsync: sao chép tệp

Hai lệnh để truyền tệp giữa máy tính của bạn và máy chủ: khi nào scp là đủ, rsync hữu ích cho việc gì, và cách không ghi đè thư mục của người khác với dấu gạch chéo cuối.

Cập nhật 23 tháng 8, 2026

Trình khách đồ họa rất tiện cho một lần chỉnh sửa đơn lẻ, nhưng việc triển khai và sao lưu sẽ dễ dàng hơn khi dùng một lệnh duy nhất.

scp: sao chép một lần

Cú pháp giống hệt cp, chỉ khác là có thêm địa chỉ máy:

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/

Lệnh đầu tiên gửi một tệp đi, lệnh thứ hai kéo một tệp về, lệnh thứ ba sao chép cả một thư mục (-r).

Nếu SSH chạy trên cổng khác, hãy chỉ định bằng chữ -P viết hoa:

scp -P 2222 dump.sql root@203.0.113.10:/root/

Với tệp ~/.ssh/config, các lệnh sẽ ngắn hơn: scp dump.sql vds:/root/.

rsync: đồng bộ hóa

rsync chỉ truyền phần khác biệt, có thể tiếp tục một phiên truyền bị gián đoạn và hiển thị tiến trình. Với những lần triển khai lặp lại, nó nhanh hơn nhiều lần.

rsync -avz --progress ./site/ root@203.0.113.10:/var/www/example.com/
CờTác dụng
-aGiữ nguyên quyền, dấu thời gian, liên kết
-vIn ra danh sách tệp
-zNén luồng truyền
--progressHiển thị tiến trình truyền
--deleteXóa trên máy những gì bạn không có
--excludeBỏ qua những thứ không cần thiết

Ví dụ về một lần triển khai sạch:

rsync -avz --delete \
  --exclude '.git' --exclude 'node_modules' --exclude '.env' \
  ./site/ vds:/var/www/example.com/

Kéo một bản sao từ máy về phía bạn:

rsync -avz vds:/root/backup-2026-08-23.tar.gz ./backups/

Dấu gạch chéo ở cuối đường dẫn nguồn có nghĩa là “nội dung của thư mục”. ./site/ đặt các tệp vào bên trong thư mục đích, còn ./site tạo một thư mục con site bên trong thư mục đích. Một nửa các lần triển khai bị “thiếu tệp” là do điều này.

Cẩn thận với --delete

Cờ --delete biến thư mục trên máy thành bản sao chính xác của thư mục bạn: mọi thứ dư thừa sẽ bị xóa mà không hỏi. Hãy chạy thử trước:

rsync -avzn --delete ./site/ vds:/var/www/example.com/

Cờ -n chỉ hiển thị những gì sẽ xảy ra. Khi đã chắc chắn, hãy bỏ chữ n.

Tốc độ

Tốc độ đĩa bị giới hạn theo từng gói: ghi ở mức 60 MB/s mỗi lõi (không dưới 60 và không quá 400), đọc gấp đôi mức đó, và một đợt bùng nổ gấp ba lần giới hạn kéo dài trong 30 giây. Băng thông mạng lên tới 500 Mbit/s. Trên VDS-1, việc tải lên một tệp lưu trữ lớn sẽ chạm giới hạn ghi, và đó là điều bình thường, không phải lỗi. Để kiểm tra tình hình:

df -h
iostat -x 2

Những lỗi thường gặp

Triệu chứngNguyên nhân
Permission deniedBạn đang ghi vào thư mục không thuộc người dùng của mình — hãy đăng nhập bằng root hoặc đổi chủ sở hữu
No such file or directoryThư mục không tồn tại trên máy và scp sẽ không tạo nó: hãy chạy mkdir -p trước
Các tệp nằm cao hơn một cấpThiếu hoặc thừa dấu gạch chéo ở cuối đường dẫn
rsync: command not foundCài gói trên cả hai phía: apt install -y rsync
Trang web trả về 403 sau khi triển khaiChưa đặt chủ sở hữu: chown -R www-data:www-data /var/www/example.com

Nếu bạn thích dùng trình khách đồ họa, xem truyền tệp qua SFTP.