VPS HC
Trang Chủ / Blog / Chuyển file giữa 2 VPS Linux bằng SCP, rsync và SFTP

Chuyển file giữa 2 VPS Linux bằng SCP, rsync và SFTP

Tác giả
Nguyễn Chiến
Ngày đăng
15/06/2026
Lượt xem
47
Chuyển file giữa 2 VPS Linux bằng SCP, rsync và SFTP

Hướng dẫn các cách phổ biến nhất để copy, di chuyển file và thư mục giữa 2 VPS Linux.

==== SCP (Secure Copy) ====

SCP dùng SSH để truyền file, đơn giản và có sẵn trên mọi hệ thống Linux.

Copy file từ máy local lên VPS:

scp file.txt root@103.157.204.101:/root/
scp file.txt root@103.157.204.101:/var/www/html/

Copy file từ VPS về máy local:

scp root@103.157.204.101:/root/file.txt ./
scp root@103.157.204.101:/var/log/nginx/error.log /tmp/

Copy file giữa 2 VPS (từ VPS A sang VPS B):

scp root@VPS_A_IP:/path/to/file root@VPS_B_IP:/path/to/dest/

Copy cả thư mục (dùng -r):

scp -r /var/www/html root@103.157.204.101:/var/www/
scp -r root@VPS1:/home/user/myapp root@VPS2:/home/user/

Copy với port SSH khác (dùng -P):

scp -P 2222 file.txt root@103.157.204.101:/root/

Copy nhiều file cùng lúc:

scp file1.txt file2.txt file3.txt root@103.157.204.101:/root/
scp *.log root@103.157.204.101:/tmp/logs/

Nén rồi copy (tiết kiệm băng thông, dùng -C):

scp -C -r /var/www/html root@103.157.204.101:/var/www/

Xem tiến trình copy (dùng -v):

scp -v largefile.tar.gz root@103.157.204.101:/root/

==== RSYNC (Đồng bộ thư mục) ====

rsync thông minh hơn SCP: chỉ copy phần thay đổi, giữ nguyên permissions, hỗ trợ resume. Phù hợp để sync thư mục lớn hoặc backup.

Sync thư mục từ local lên VPS:

rsync -avz /var/www/html/ root@103.157.204.101:/var/www/html/

Sync từ VPS về local:

rsync -avz root@103.157.204.101:/var/www/html/ /backup/html/

Sync giữa 2 VPS:

rsync -avz root@VPS1:/var/www/ root@VPS2:/var/www/

Các option quan trọng:

-a  : archive mode (giữ permissions, timestamps, symlinks)
-v  : verbose (hiện tiến trình)
-z  : nén data trong quá trình truyền
-P  : hiện progress bar + resume khi bị ngắt
--delete : xóa file ở đích nếu không còn ở nguồn (sync hoàn toàn)
--exclude : bỏ qua file/thư mục nhất định
-n  : dry run, chỉ xem sẽ làm gì chứ không thực sự copy

Rsync với port SSH khác:

rsync -avz -e "ssh -p 2222" /var/www/ root@103.157.204.101:/var/www/

Rsync bỏ qua thư mục:

rsync -avz --exclude="node_modules" --exclude=".git" --exclude="*.log" \
  /var/www/myapp/ root@103.157.204.101:/var/www/myapp/

Rsync xóa file đích không còn ở nguồn:

rsync -avz --delete /var/www/html/ root@103.157.204.101:/var/www/html/

Resume file lớn bị ngắt giữa chừng:

rsync -avzP largefile.tar.gz root@103.157.204.101:/root/

==== SFTP (Interactive File Transfer) ====

SFTP cho phép duyệt và quản lý file tương tác như FTP nhưng qua SSH.

# Kết nối SFTP
sftp root@103.157.204.101

# Kết nối port khác
sftp -P 2222 root@103.157.204.101

Các lệnh trong SFTP session:

ls              # liệt kê file trên VPS
lls             # liệt kê file trên máy local
pwd             # thư mục hiện tại trên VPS
lpwd            # thư mục hiện tại trên local
cd /var/www     # vào thư mục trên VPS
lcd /tmp        # vào thư mục trên local
get file.txt    # download file từ VPS về local
get -r folder/  # download cả thư mục
put file.txt    # upload file từ local lên VPS
put -r folder/  # upload cả thư mục
rm file.txt     # xóa file trên VPS
mkdir newfolder # tạo thư mục trên VPS
exit            # thoát

==== TAR + SSH (Nén và truyền một lần) ====

Cách nhanh để copy thư mục lớn — nén và truyền trong 1 lệnh, không cần tạo file tar tạm:

Copy thư mục từ VPS A sang VPS B:

# Chạy trên VPS A:
tar czf - /var/www/html | ssh root@VPS_B_IP "tar xzf - -C /var/www/"

Copy từ local lên VPS:

tar czf - ./myapp | ssh root@103.157.204.101 "tar xzf - -C /var/www/"

==== SO SÁNH CÁC PHƯƠNG PHÁP ====

  • SCP: Đơn giản, nhanh, phù hợp copy file/thư mục nhỏ. Không resume được.
  • rsync: Tốt nhất cho thư mục lớn, backup, sync định kỳ. Chỉ copy phần thay đổi, resume được.
  • SFTP: Phù hợp khi cần duyệt file tương tác, upload/download linh hoạt.
  • tar + SSH: Nhanh nhất cho thư mục lớn nhiều file nhỏ vì nén trước khi truyền.

Tip: Dùng SSH key để không cần nhập password khi copy

# Tạo SSH key trên máy nguồn
ssh-keygen -t ed25519

# Copy public key lên VPS đích
ssh-copy-id root@103.157.204.101

# Sau đó SCP/rsync không cần nhập password nữa
rsync -avz /data/ root@103.157.204.101
Có thể bạn cần xem thêm
Quay lại Blog
Bài viết đã được kiểm duyệt bởi VPS HC Team Cập nhật lần cuối: 15/06/2026

Bài Viết Liên Quan

Cần VPS tốc độ cao, giá hợp lý?

Khởi tạo trong vài phút · Hỗ trợ 24/7 · Uptime 99.99%

Dùng Thử Miễn Phí