Hướng dẫn sử dụng SCP copy file/folder từ linux sang linux

Hầu hết mọi người thường quen dùng WinSCP copy dữ liệu trên máy chủ linux về. Ví dụ như đang cài webserver trên VPS Linode muốn copy file từ VPS khác của Vultr chẳng hạn thì làm thế nào với cái màn hình đen xì ấy không lẽ nhảy lên Windows chạy WinSCP rồi copy từ Vultr về rồi lại từ máy Windows đẩy file ngược lên Linode, nghe có vẻ ngu ngu nhỉ 🙂 hì, vẫn rất nhiều bạn đang làm theo cách đó đấy.

Cách copy dữ liệu từ linux sang linux

Để giải quyết vấn đề mình giới thiệu với các bạn ứng dụng SCP công cụ mình hay dùng để truyền dữ liệu từ VPS sang VPS trên linux.

Giới thiệu lệnh SCP

SCP – Secure Copy là một ứng dụng sử dụng giao thức SSH thường dùng để copy dữ liệu từ máy linux sang linux.

Cài đặt SCP

Thường thì SCP được cài sẵn trên linux, nếu chưa có gõ lệnh.

Ubuntu/Debian

apt-get install scp

RedHat/Centos:

yum install scp

Sử dụng SCP

Mô hình:

  • Client: IP 192.160.0.2 máy gửi dữ liệu, chúng ta ngồi trược tiếp trên máy này gõ lệnh gửi file.
  • Server: IP 192.160.0.3 User root, pass 123456, máy nhận dữ liệu.

Cú pháp lệnh cơ bản

scp source_file username@destination_host:/destination_folder

Đẩy file test.txt từ client lên server /root/bak

scp test.txt root@192.160.0.3:/root/bak

Nếu server không được cấu hình dùng SSH Key lần gửi file sẽ hiện thông báo như bên dưới, nhập yes để đồng ý.

The authenticity of host '192.160.0.3 (192.160.0.3)' can't be established.
RSA key fingerprint is d6:38:38:48:98:33:72:9a:be:a5:e3:8c:e5:5e:9d:4c.
Are you sure you want to continue connecting (yes/no)?yes

Muốn truyền nhiều file cùng lúc dùng lệnh

scp test.txt nginx.conf root@192.160.0.3:/root/bak

Copy cả thử mục backup từ client lên server dùng tham số -r

scp -r /var/backup root@192.160.0.3:/root/bak

Nếu VPS của bạn không dùng port SSH mặc định bạn thêm tham số -P port_number chữ P viết hoa nhé.

scp -P 2222 /var/backup/test.txt root@192.160.0.3:/root/bak

Giờ mình muốn copy dữ liệu ngược lại từ server về client thì thế nào, gõ lệnh:

scp root@192.160.0.3:/root/bak/test.txt /var/

Kết bài

SCP là công cụ truyền tập tin an toàn trên mạng đơn giả dễ dùng, nó sao chép tất cả những gì được chỉ định đến các máy chủ khác nhau nhưng tính năng của nó cũng dừng lại ở đó thôi.

Để linh hoạt hơn bài tới mình sẽ giới thiệu với các bạn về rsync trên linux công cụ chuyên dùng để backup và đồng bộ dữ liệu, ngoài những tính năng của SCP nó có thể kiểm tra được sự sai khác của tập tin, bỏ qua không copy nhưng tập tin đã tồn tại trên server.

6 Comments

  1. TongHoa February 23, 2017 Reply
    • admin February 23, 2017 Reply
      • TongHoa February 24, 2017 Reply
      • TongHoa February 24, 2017 Reply
  2. Vũ Thành Đạt April 8, 2016 Reply
    • admin April 8, 2016 Reply

Leave a Reply