You are on page 1of 4

Hướng dẫn copy file giữa 2 server Linux bằng

command
16 Tháng Tám, 2019

NỘI DUNG: 

Xếp hạng

Trong quá trình vận hành server/vps, sẽ có đôi lúc bạn cần copy/đồng bộ các le giữa 2 server với nhau, thì

bằng cách nào để thực hiện, bạn không thể download rồi upload sẽ mất rất nhiều thời gian cho việc đó.

Ở Linux bạn sẽ thao tác nhanh hơn bằng SCP và RSYN, mới bạn cùng theo dõi.

1. Sử dụng lệnh scp

scp [option] <source_path> <your_user>@<destination_server>:<destination_path>

Trong đó:

[option] là tham số của lệnh scp, VD: -r để copy 1 thư mục

<source_path> là le/thư mục trên Server nguồn


/
<your_user> là 1 user trên Server đích

<destination_server> là địa chỉ IP hoặc domain name của Server đích

<destination_path> là đường dẫn của le/folder trên Server đích mà ta copy tới.

<-P> Port: Nếu Port thay đổi bạn thêm option này vào

VD:

Lệnh này sẽ sử dụng port mặc định là 22

scp admin.root.admin.tar.gz root@103.221.220.105:/home/file_backup

Nếu khác Port 22 ban cần thêm option -P vào.

Lệnh này mình di chuyển toàn bộ thư mục public_html với port 2222 đi nên có thêm option r

scp -rP 2222 /home/anhquan/public_html/ dotrungq@45.252.248.51:/home/dotrungq/wordpress

Chú thích:

Mình đang đứng ở VPS có IP là 103.221.220.111 , mình thực hiện Copy le admin.root.admin.tar.gz đến VPS
có IP là 103.221.220.105

scp : cú pháp
admin.root.admin.tar.gz : le cần copy
root@103.221.220.105:/home/ le_backup: IP và thực mục VPS cần copy đến

2. Sử dụng lệnh Rsync /


Các Option
-v: hiển thị trạng thái kết quả
-r: copy dữ liệu recursively, nhưng không đảm bảo thông số của le và thư mục
-a: cho phép copy dữ liệu recursively, đồng thời giữ nguyên được tất cả các thông số của thư mục và
le
-z: nén dữ liệu khi transfer, tiết kiệm băng thông tuy nhiên tốn thêm một chút thời gian
-h: human-readable, output kết quả dễ đọc
–delete: xóa dữ liệu ở destination nếu source không tồn tại dữ liệu đó.
–exclude: loại trừ ra những dữ liệu không muốn truyền đi, nếu bạn cần loại ra nhiều le hoặc folder ở
nhiều đường dẫn khác nhau thì mỗi cái bạn phải thêm –exclude tương ứng.
-p: Nếu port bạn đã thay đổi

Nếu phiên bản HDH Linux/Unix của bạn chưa có command này thì hãy sử dụng lệnh sau để cài đặt:

Với Centos

yum install -y rsync

Với Ubuntu

apt install -y rsync

Cú pháp thực hiện

# copy file/folder từ server hiện tại tới 1 remote server


rsync [-options] <source_path> <your_user>@<destination_server>:<destination_path>

# Copy file/folder từ 1 remote Server tới server hiện tại

rsync [-options] <your_user>@<source_server>:<source_path> <destination_path>

VD:

rsync -azvh /home/admin/admin_backups/admin.root.admin.tar.gz root@103.221.220.105:/hom


/
rsync -avz -e "ssh -p $portNumber" user@remoteip:/path/to/files/ /local/path/

Chú thích:

Mình đang đứng ở VPS có IP là 103.221.220.111 , mình thực hiện rsync le admin.root.admin.tar.gz đến VPS
có IP là 103.221.220.105

/home/admin/admin_backups/admin.root.admin.tar.gz: Đường dẫn đến le

root@103.221.220.105:/home/ le_backup : IP và thư mục của VPS cần rsync đến

Anh Quân
Khi bạn nói chưa biết cuộc chơi vẫn còn. Khi bạn nói không biết cuộc chơi sẽ kết thúc.

You might also like