Nov 5, 2020
4 Views
Comments Off on Đồng bộ dữ liệu từ Centos về Docker windows bằng Rsync

Đồng bộ dữ liệu từ Centos về Docker windows bằng Rsync

Written by

Rsync là công cụ cực kỳ hữu hiệu nếu bạn làm việc giữa các hệ thống Linux, nó không có trên Windows. Nhưng tình huống có thể như sau:

Có một thư mục trên server Linux, /home/dir1, bạn muốn đồng bộ thư mục đó về máy Windows lưu ở thư mục D:\backupdir1 hoặc ngược lại, thì làm điều đó như thế nào với Rsync. Có thể cài máy ảo bằng Virtual Box sau đó cài một hệ điều hành Linux như CentOS, Ubuntu, rồi chia sẻ folder máy host Windows và máy ảo Linux, từ máy ảo Linux chạy lệnh Rsync đồng bộ vào thư mục chia sẻ này. Nếu làm cách này quá trình cài đặt mất vài tiếng, và khá phức tạp.

Cách đơn giản hơn là tạo môi trường chạy lệnh Linux bằng Docker

Sử dụng Docker chạy Ubuntu trên Windows
Nếu chưa có Docker, Vào trang Docker Destop, tải về và cài đặt nó trên Windows!

Sau khi có Docker ở Windows mở terminate (cmd nhưng khuyến khích dùng PowerShell), chạy các lệnh đề tạo môi trường Linux như sau:

Tải về image Ubuntu (Phiên bản Mini Ubuntu cho Docker)

PS >docker pull ubuntu
Kiểm tra xem tên image ubuntu có trong hệ thống Docker chưa

PS >docker image ls
Chạy một bản ubuntu (tạo Container cụ thể), hệ điều hành này sẽ thiết cấu hình chia sẻ thư mục Windows D:\backupdir1 (nhớ phải có thư mục này trên Windows) và gắn vào vị trí /home/backup1/

PS >docker run -it -v d:/backupdir1/:/home/backup1/ ubuntu
Sau lệnh trên, bạn đã tạo ra một container đang chạy hệ điều hành Ubuntu và đang vào tương tác với nó bằng dòng lệnh. Lúc này từ Ubuntu mọi thay đổi trong thư mục /home/backup1 sẽ chính là thư mục d:/backupdir1/ của máy host Windows!

Vì Ubutun trên là cơ bản cho Docker, nên cần cài các thành phần theo nhu cầu làm việc

# Cập nhật
# apt-get update
# Cài SSH cho Ubuntu
# apt install openssh-server
# Cài rsync cho Ubuntu
# apt-get install rsync
Có SSH rồi, cấu hình để truy cập được đến Remote bằng SSH (Xem SSH Private Key)

Giờ chỉa việc Rsync máy server remote với Ubuntu vào thư mục /home/backup1/

# rsync -aP [email protected]:/home/dir1/ /home/backup1
Và kết quả Rsync sẽ lưu chính trong thư mục máy host Windows, D:\backupdir1. Bạn cũng có thể Resync từ local lên remote theo chiều ngược lại

Article Categories:
IT & Network
    http://linholiver.com

    https://linholiver.com/diary/about/