Đồng bộ dữ liệu với mô hình dropbox
Số trang: 16
Loại file: pdf
Dung lượng: 138.83 KB
Lượt xem: 7
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Dropbox là dịch vụ chia sẻ file trực tuyến, cho phép người dùng lưu trữ và chia sẻ dữ liệu với dung lượng miễn phí 2GB. Điểm đặc biệt của dropbox là khả năng đồng bộ dữ liệu thời gian thực, theo đó, ta chỉ định một directory cụ thể trên máy tính kết nối với dropbox client, dữ liệu sẽ được đồng bộ hóa lên dropbox server bất cứ khi nào có kết nối Internet. Bài viết này hướng dẫn bạn xây dựng một mô hình server – client tương tự dropbox, với sự kết hợp của rsync...
Nội dung trích xuất từ tài liệu:
Đồng bộ dữ liệu với mô hình dropbox Đồng bộ dữ liệu với mô hình dropboxDropbox là dịch vụ chia sẻ file trực tuyến, cho phép ng ười dùng lưu trữ và chiasẻ dữ liệu với dung l ượng miễn phí 2GB. Điểm đặc biệt của dropbox l à khảnăng đồng bộ dữ liệu thời gian thực, theo đó, ta chỉ định một directory cụ thểtrên máy tính kết nối với dropbox client, dữ liệu sẽ đ ược đồng bộ hóa lêndropbox server bất cứ khi nào có kết nối Internet.Bài viết này hướng dẫn bạn xây dựng một mô hình server – client tương t ựdropbox, với sự kết hợp của rsync server và rsync client (lsyncd).Rsync: là một application được viết dành cho các hệ điều hành Unix và Unixlikes, cho phép đồng bộ hóa dữ liệu từ một directory này sang một directorykhác, hoặc giữa dữ liệu ở máy tính trạm sang một máy tính khác trong mộtnetwork, hay internet với nhiều options khác nhau. (Wikipedia)Ở chế độ daemon mode, rsync lắng nghe trên port 873, chờ đợi kết nối từ rsyncclient thông qua remote shell như ssh hay rshBài viết này dựa vào daemon mode của rsync để thiết lập một rsync server.Lsyncd sử dụng rsync để đồng bộ hóa một hoặc nhiều directory với máy chủrsync. Lsyncd có thể đồng bộ hóa dữ liệu theo thời gian thực thông qua m ộtsubsystem process của Unix là inotify. Inotify có ch ứ năng giám sát sự thay đổicủa dữ liệu: tăng giảm dung l ượng, sửa xóa...Khi dữ liệu có bất cứ sự thay đổinào, lsyncd sẽ dựa vào inotify event để đồng bộ hóa dữ liệu với rsync server.(Lsyncd homepage)Mục tiêu của bài viết là cung cấp một giải pháp back up trong suốt với ng ườidùng cuối, đối với những dạng dữ liệu vừa phải (không quá lớn). Sử dụngrsync là m ột cách để giảm thiểu tối đa dữ liệu truyền qua network d ùng đểback up. Ta chỉ đồng bộ những thay đổi.Với cách này, ta cũng có thể backup cơ sở dữ liệu, dữ liệu của một web serverđến một máy chủ ở xa, cung cấp khả năng mirroring, backup một cách kịp thờinhất.Cài đặt:Cài đặt:Rsync Server:Rsync có sẵn trên hầu hết các hệ điều hành Linux, mặc định rsync là một côngcụ như ssh hoặc scp. Để cài đặt rsync server cần làm các bước sau. Distro màtôi sử dụng là Debian Lenny, các bước cài đặt hầu như tương tự trên bất kìdistro Linux nào khác:Tạo user:debian:~# adduser hungnvSao chép file cấu hình mẫu của rsync vào thư mục /etc/debian:~# cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/Sửa file cấu hình để tạo shared moduledebian:~# cat /etc/xinetd.d/rsyncservice rsync {disable = nosocket_type = stream wait = nouser = rootserver = /usr/bin/rsyncserver_args = --daemonlog_on_failure += USERID}Các option ở trên hầu như là mặc định, trừ uid, gid và read only option. Vì tachỉ muốn user có username hungnv đ ược phép đồng bộ file ở/home/hungnv/sync nên sử dụng gid và gid này.Tôi sử dụng xinetd (superserver) để quản lí rsync daemon. Sở dĩ xinetd đ ượcgọi là superserver vì xinetd có thể hoạt động như một daemon lắng nghe trêntất cả các port của các dịch vụ liệt k ê trong cấu hình của xinetd.Cài đặt xinetd:debian:~# aptitude install xinetdTao và sửa chữ nội dung file rsync ở /etc/xinetd.d/rsyncdebian:~# cat /etc/xinetd.d/rsyncservice rsync {disable = nosocket_type = streamwait = no user = rootserver = /usr/bin/rsyncserver_args = --daemonlog_on_failure += USERID}Restart xinetd:debian:~# /etc/init.d/xinetd restartStopping internet superserver: xinetd.Starting internet superserver: xinetd.Kiểm tra sự hoạt động của rsync:debian:~# netstat -ntlActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:873 0.0.0.0:* LISTENKiểm tra module được share:debian:~# rsync localhost::hungnv hungnvs private stuffChuyển sang client:Cài đặt lsyncd, trong bài viết này tôi sử dụng gentoo, ở các distro khác bạndownload source code c ủa lsyncd tại link cung cấp trong bài viết.g3n2 ~ # echo =app-admin/lsyncd-1.26 >> /etc/portage/package.keywordsg3n2 ~ # emerge -av lsyncdCấu hình: Do quá dài và chứa nhiều kí tự đặc biệt, nên bạn có thể xem ởđây http://osvn.pastebin.com/W6f3fQk1Chú ý phần tag directoryPhần source: là đường dẫn đến directory mà bạn muốn đồng bộ với serverPhần target: l à địa chỉ server và module đã tạo ra trước đó.Ở Server và client: setup authentication sử dụng public key:Client: gen key và copy key lên server:hungnv@g3n2 ~ $ ssh-keygen -t rsa -b 10 ...
Nội dung trích xuất từ tài liệu:
Đồng bộ dữ liệu với mô hình dropbox Đồng bộ dữ liệu với mô hình dropboxDropbox là dịch vụ chia sẻ file trực tuyến, cho phép ng ười dùng lưu trữ và chiasẻ dữ liệu với dung l ượng miễn phí 2GB. Điểm đặc biệt của dropbox l à khảnăng đồng bộ dữ liệu thời gian thực, theo đó, ta chỉ định một directory cụ thểtrên máy tính kết nối với dropbox client, dữ liệu sẽ đ ược đồng bộ hóa lêndropbox server bất cứ khi nào có kết nối Internet.Bài viết này hướng dẫn bạn xây dựng một mô hình server – client tương t ựdropbox, với sự kết hợp của rsync server và rsync client (lsyncd).Rsync: là một application được viết dành cho các hệ điều hành Unix và Unixlikes, cho phép đồng bộ hóa dữ liệu từ một directory này sang một directorykhác, hoặc giữa dữ liệu ở máy tính trạm sang một máy tính khác trong mộtnetwork, hay internet với nhiều options khác nhau. (Wikipedia)Ở chế độ daemon mode, rsync lắng nghe trên port 873, chờ đợi kết nối từ rsyncclient thông qua remote shell như ssh hay rshBài viết này dựa vào daemon mode của rsync để thiết lập một rsync server.Lsyncd sử dụng rsync để đồng bộ hóa một hoặc nhiều directory với máy chủrsync. Lsyncd có thể đồng bộ hóa dữ liệu theo thời gian thực thông qua m ộtsubsystem process của Unix là inotify. Inotify có ch ứ năng giám sát sự thay đổicủa dữ liệu: tăng giảm dung l ượng, sửa xóa...Khi dữ liệu có bất cứ sự thay đổinào, lsyncd sẽ dựa vào inotify event để đồng bộ hóa dữ liệu với rsync server.(Lsyncd homepage)Mục tiêu của bài viết là cung cấp một giải pháp back up trong suốt với ng ườidùng cuối, đối với những dạng dữ liệu vừa phải (không quá lớn). Sử dụngrsync là m ột cách để giảm thiểu tối đa dữ liệu truyền qua network d ùng đểback up. Ta chỉ đồng bộ những thay đổi.Với cách này, ta cũng có thể backup cơ sở dữ liệu, dữ liệu của một web serverđến một máy chủ ở xa, cung cấp khả năng mirroring, backup một cách kịp thờinhất.Cài đặt:Cài đặt:Rsync Server:Rsync có sẵn trên hầu hết các hệ điều hành Linux, mặc định rsync là một côngcụ như ssh hoặc scp. Để cài đặt rsync server cần làm các bước sau. Distro màtôi sử dụng là Debian Lenny, các bước cài đặt hầu như tương tự trên bất kìdistro Linux nào khác:Tạo user:debian:~# adduser hungnvSao chép file cấu hình mẫu của rsync vào thư mục /etc/debian:~# cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/Sửa file cấu hình để tạo shared moduledebian:~# cat /etc/xinetd.d/rsyncservice rsync {disable = nosocket_type = stream wait = nouser = rootserver = /usr/bin/rsyncserver_args = --daemonlog_on_failure += USERID}Các option ở trên hầu như là mặc định, trừ uid, gid và read only option. Vì tachỉ muốn user có username hungnv đ ược phép đồng bộ file ở/home/hungnv/sync nên sử dụng gid và gid này.Tôi sử dụng xinetd (superserver) để quản lí rsync daemon. Sở dĩ xinetd đ ượcgọi là superserver vì xinetd có thể hoạt động như một daemon lắng nghe trêntất cả các port của các dịch vụ liệt k ê trong cấu hình của xinetd.Cài đặt xinetd:debian:~# aptitude install xinetdTao và sửa chữ nội dung file rsync ở /etc/xinetd.d/rsyncdebian:~# cat /etc/xinetd.d/rsyncservice rsync {disable = nosocket_type = streamwait = no user = rootserver = /usr/bin/rsyncserver_args = --daemonlog_on_failure += USERID}Restart xinetd:debian:~# /etc/init.d/xinetd restartStopping internet superserver: xinetd.Starting internet superserver: xinetd.Kiểm tra sự hoạt động của rsync:debian:~# netstat -ntlActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:873 0.0.0.0:* LISTENKiểm tra module được share:debian:~# rsync localhost::hungnv hungnvs private stuffChuyển sang client:Cài đặt lsyncd, trong bài viết này tôi sử dụng gentoo, ở các distro khác bạndownload source code c ủa lsyncd tại link cung cấp trong bài viết.g3n2 ~ # echo =app-admin/lsyncd-1.26 >> /etc/portage/package.keywordsg3n2 ~ # emerge -av lsyncdCấu hình: Do quá dài và chứa nhiều kí tự đặc biệt, nên bạn có thể xem ởđây http://osvn.pastebin.com/W6f3fQk1Chú ý phần tag directoryPhần source: là đường dẫn đến directory mà bạn muốn đồng bộ với serverPhần target: l à địa chỉ server và module đã tạo ra trước đó.Ở Server và client: setup authentication sử dụng public key:Client: gen key và copy key lên server:hungnv@g3n2 ~ $ ssh-keygen -t rsa -b 10 ...
Tìm kiếm theo từ khóa liên quan:
Lý thuyết tin học SQL Tin học đại cương giáo trình Tin học đại cương bài giảng Tin học đại cương tài liệu Tin học đại cương lý thuyết Tin học đại cươngGợi ý tài liệu liên quan:
-
Ứng dụng công cụ Quizizz thiết kế trò chơi học tập trong giảng dạy học phần tin học đại cương
12 trang 284 0 0 -
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 trang 248 0 0 -
Giáo trình Tin học đại cương part 7
19 trang 210 0 0 -
Giáo trình Tin học đại cương: Phần 1 - ĐH Kinh tế Quốc Dân
130 trang 146 0 0 -
Giáo trình Tin học đại cương (Tái bản năm 2020): Phần 1 - PGS.TS. Nguyễn Thị Thu Thủy (Chủ biên)
105 trang 136 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 123 0 0 -
Giáo trình Tin học đại cương: Phần 1 - Vi Hồng Thắm
90 trang 113 0 0 -
Trắc nghiệm và đáp án hệ cơ sở dữ liệu - ĐH Công Nghiệp Tp. Hồ Chí Minh
63 trang 105 0 0 -
Đề cương học phần Tin học đại cương
23 trang 101 0 0 -
Quản trị người dùng trong Exchange 2007 bằng Powershell
9 trang 94 0 0