<![CDATA[Latest posts for the topic "Gặp trục trặc với Rsync + SSH"]]> /hvaonline/posts/list/24.html JForum - http://www.jforum.net Gặp trục trặc với Rsync + SSH http://www.howtoforge.com/mirroring_with_rsync Tôi có 2 con server : - Ở con A (chính) có dùng WHM/CPanel, trên con server này SELINUX đã được tắt, trong con A có thư mục /home chứa thông tin của khách hàng, do đó thư mục này là thư mục mà tôi cần chuyển tất cả những thư mục con, tập tin con trong thư mục này sang con B ở đường dẫn /var/www chẳng hạn - Ở con B (dự phòng) không dùng WHM/CPanel trên con server này SELINUX chưa được tắt Khi tôi chạy dòng sau trên con B Code:
#rsync -avz --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -p 6567 -i /root/rsync/mirror-rsync-key" phuoc@IP của con A:/home /var/www/
Trong đó : 6567 là cổng SSH của con server A phuoc : tên tài khoản mà tôi tạo trên con A /home : thư mục mà tôi muốn đồng bộ sang con B /var/www : thư mục trên con B mà tôi muốn đây là nơi mà nó lưu trữ từ con A Thì nó báo lỗi như thế này ở thư mục /home Code:
receiving incremental file list
rsync: opendir "/home" failed: Permission denied (13)
Permission thư mục /home trên con A Code:
drwxr-xr-x  5 root     root     4096 Mar 21  2011 .cpan/
drwxr-xr-x  3 root     root     4096 Dec 15 23:55 .cpanm/
drwx------  6 root     root     4096 Dec 15 23:55 .cpcpan/
drwx------  3 root     root     4096 Oct 17  2009 cpeasyapache/
drwxr-xr-x  3 root     root     4096 Nov 30  2010 cprubybuild/
drwxr-xr-x  3 root     root     4096 Nov 30  2010 cprubygemsbuild/
drwx--x--x 13 tan  tan  4096 Apr  9  2010 tan/
drwx--x--x 10 nghia nghia 4096 Jan 29  2011 nghia/
Thông tin log trên con A
Dec 16 13:13:59 server su: pam_unix(su:session): session closed for user phuoc Dec 16 21:01:22 server sshd[32758]: Accepted publickey for phuoc from IP của con B ssh2  
Tôi thử xây dựng mô hình lab khác (không dùng Cpanel) thì mọi việc tiến hành bình thường mà không gặp trục trặc gì hết. Cám ơn bà con đã đọc.]]>
/hvaonline/posts/list/40819.html#251190 /hvaonline/posts/list/40819.html#251190 GMT
Gặp trục trặc với Rsync + SSH /hvaonline/posts/list/40819.html#251193 /hvaonline/posts/list/40819.html#251193 GMT Gặp trục trặc với Rsync + SSH /hvaonline/posts/list/40819.html#251197 /hvaonline/posts/list/40819.html#251197 GMT Gặp trục trặc với Rsync + SSH

tranhuuphuoc wrote:
Chào anh, Vâng đúng là em xuyên qua SSH bằng user mang tên là "phuoc" , Em tìm được câu trả lời bằng cách dùng chown Cám ơn anh trợ giúp 
Mình cũng đang tiến hành thực nghiệm rsync giữa 2 server. Nhưng mình chỉ có thể đồng bộ source data, có cách nào khác hay rsync có thể đồng bộ mysql database luôn không bồ ???]]>
/hvaonline/posts/list/40819.html#251203 /hvaonline/posts/list/40819.html#251203 GMT
Gặp trục trặc với Rsync + SSH MySQL has a nice feature called replication that usually keeps a slave database in sync with a master. Except when it doesn't   http://mah.everybody.org/docs/mysql-rsync]]> /hvaonline/posts/list/40819.html#251204 /hvaonline/posts/list/40819.html#251204 GMT Gặp trục trặc với Rsync + SSH

Kcmonline wrote:
Mình cũng đang tiến hành thực nghiệm rsync giữa 2 server. Nhưng mình chỉ có thể đồng bộ source data, có cách nào khác hay rsync có thể đồng bộ mysql database luôn không bồ ??? 
- Thì kiếm 1 cái script backup database sau đó nhét qua cron tab dùng rsync đẩy nó qua bên server B. - Dùng MySQL Replication khi có sự thay đổi dữ liệu ở A thì MySQL ở nơi nào đó sẽ thay đổi giống như A Các cách khác xin bổ sung.]]>
/hvaonline/posts/list/40819.html#251208 /hvaonline/posts/list/40819.html#251208 GMT
Gặp trục trặc với Rsync + SSH

Kcmonline wrote:
có cách nào khác hay rsync có thể đồng bộ mysql database luôn không bồ ??? 
Tham khảo: http://dev.mysql.com/doc/refman/5.1/en/drbd-mysql-replication-scale.html]]>
/hvaonline/posts/list/40819.html#251210 /hvaonline/posts/list/40819.html#251210 GMT
Gặp trục trặc với Rsync + SSH /hvaonline/posts/list/40819.html#251221 /hvaonline/posts/list/40819.html#251221 GMT Gặp trục trặc với Rsync + SSH /hvaonline/posts/list/40819.html#251227 /hvaonline/posts/list/40819.html#251227 GMT Gặp trục trặc với Rsync + SSH /hvaonline/posts/list/40819.html#251228 /hvaonline/posts/list/40819.html#251228 GMT Gặp trục trặc với Rsync + SSH chown -R phuoc /home/cuti Lúc này thì thông tin permission của /home/cuti kể cả sub-directories ở trong nó như sau Code:
drwx--x--x 11 phuoc  cuti  4096 Apr  9  2010 cuti/
Lúc này em rsync ở /home/cuti đến máy B chứa dữ liệu chẳng hạn em quy định đường dẫn /var/www thì thành công . Tuy nhiên khi đó trên server dùng WHM/Cpanel các dịch vụ FTP, Web đều bị ảnh hưỡng (người dùng không truy cập được Webmail hoặc Upload/Download thông qua FTP-lỗi permission) mặc dù thông tin permission cũng xuất hiện tương tự như trên cho các sub-directories do đó em thử chmod 755 cho public_html thì bình thường trở lại. Trong khi đó em dùng 2 máy tính khác để làm LAB thì bình thường (không hiểu lý do tại vì sao phải thêm bước chmod). Mặc dù em rsync thành công nhưng em không muốn dùng tài khoản root mà dùng 1 tài khoản nào đó ví dụ như non-root , em nãy sinh ra "tối kiến"-chưa được thử nghiệm, chỉ là phán đoán :D là điều chỉnh trong visudo ví dụ như Code:
ibmthinkpad ALL=(ALL) ALL
Thì vẫn có thể đồng bộ và lấy tất cả các người dùng trong /home mà không cần phải "sở hữu" thư mục đó ! Mục đích cuối cùng của em, hạn chế sử dụng root ở mức thấp nhất. Mong anh trai cho ý kiến để em út về phần này.]]>
/hvaonline/posts/list/40819.html#251237 /hvaonline/posts/list/40819.html#251237 GMT
Gặp trục trặc với Rsync + SSH

tranhuuphuoc wrote:
Tuy nhiên khi đó trên server dùng WHM/Cpanel các dịch vụ FTP, Web đều bị ảnh hưỡng (người dùng không truy cập được Webmail hoặc Upload/Download thông qua FTP-lỗi permission) mặc dù thông tin permission cũng xuất hiện tương tự như trên cho các sub-directories do đó em thử chmod 755 cho public_html thì bình thường trở lại.  
FTP của anh chạy dưới quyền user nào? FTP users là system user (có trong /etc/passwd) hay virtual users? Thông báo lỗi chính xác như nào? Khi bị lỗi thì public_html đang có permission là bao nhiêu? 711?

tranhuuphuoc wrote:
Mặc dù em rsync thành công nhưng em không muốn dùng tài khoản root mà dùng 1 tài khoản nào đó ví dụ như non-root , em nãy sinh ra "tối kiến"-chưa được thử nghiệm, chỉ là phán đoán :D là điều chỉnh trong visudo ví dụ như Code:
ibmthinkpad ALL=(ALL) ALL
Thì vẫn có thể đồng bộ và lấy tất cả các người dùng trong /home mà không cần phải "sở hữu" thư mục đó ! 
Thế này thì vẫn không được anh à, vì owner là người khác và khi rsync với `ibmthinkpad` anh có dùng được `sudo` gì đâu.
Ý tưởng" của mình lúc này sẽ "nâng" account "phuoc" lên...root (thay đổi trong /etc/passwd thành 0 cho UID và GID cũng là 0 hoặc sudo) sau đó làm lại các bước như trong bài hướng dẫn từ http://www.howtoforge.com/mirroring_with_rsync như thế không biết có thể thực thi được không, mình chưa thử qua cách làm này. 
Nhưng như này thì lại được. Đây cũng là một "dirty trick" khi muốn rsync sang một thư mục mà user mình đang dùng không phải là owner (hoặc không có quyền write).]]>
/hvaonline/posts/list/40819.html#251238 /hvaonline/posts/list/40819.html#251238 GMT
Gặp trục trặc với Rsync + SSH $ rsync -avz --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -p 6567 -i /home/cuti/mirror-rsync-key" /home/cuti cuti@IP:/home/cuti/ $ rsync -avz --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -p 6567 -i /home/cuteo/mirror-rsync-key" /home/cuteo cuteo@IP:/home/cuteo/ $ rsync -avz --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -p 6567 -i /home/caihim/mirror-rsync-key" /home/caihim caihim@IP:/home/caihim/ Không cần chmod hay chown gì hết vì từ A sang B nếu thực thi đúng account thì nó sẽ viết data xuống được và giữ nguyên chủ quyền. Cách 2: sync từ cronjon của root từ /home đến /home và áp dụng -o -g cho rsync command: $ rsync -avzog --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -p 6567 -i /root/rsync/mirror-rsync-key" /home/ root@IP:/home/ Tránh chown, chgrp vì rất phiền nếu sub-directories có những thư mục và files do nhiều người làm chủ. Cũng có thể thực hiện cách 1 ở trên bằng root account nhưng thay đổi một tí, ví dụ: su - cuti -c "rsync -avz --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -p 6567 -i /home/cuti/mirror-rsync-key" /home/cuti cuti@IP:/home/cuti/" Phần su - cuti -c "" là phần root thực thi rsync với user "cuti".]]> /hvaonline/posts/list/40819.html#251260 /hvaonline/posts/list/40819.html#251260 GMT Gặp trục trặc với Rsync + SSH /hvaonline/posts/list/40819.html#251298 /hvaonline/posts/list/40819.html#251298 GMT Gặp trục trặc với Rsync + SSH

tranhuuphuoc wrote:
Anh trai cho nhiều ví dụ hết sức quá cụ thể , em hiểu dụng ý của anh phân tích rồi và kết quả như em mong muốn, cám ơn anh và anh em khác trợ giúp, thảo luận rất nhiều. 
Giải thích làm sao mà đối tượng nắm được mình muốn nói cái gì thì mới không uổng công em à ;).]]>
/hvaonline/posts/list/40819.html#251316 /hvaonline/posts/list/40819.html#251316 GMT
Gặp trục trặc với Rsync + SSH Code:
cuti	ALL=(ALL)	ALL
B cũng có thư mục `/var/www/html` với owner tương ứng. Làm thế nào để sync `/var/www/html` từ A sang B mà vẫn giữ được owner + permission và không được đổi root's password trên B?]]>
/hvaonline/posts/list/40819.html#251333 /hvaonline/posts/list/40819.html#251333 GMT
Gặp trục trặc với Rsync + SSH

quanta wrote:
Anh conmale, Em nghĩ tình huống là thế này thì sẽ lý thú hơn: - server nguồn (A) - server đích (B) A có một thư mục: `/var/www/html` owner là apache, group owner là nobody. Trên B, anh không có root's password mà chỉ có một account `cuti` với quyền `sudo`: Code:
cuti	ALL=(ALL)	ALL
B cũng có thư mục `/var/www/html` với owner tương ứng. Làm thế nào để sync `/var/www/html` từ A sang B mà vẫn giữ được owner + permission và không được đổi root's password trên B? 
Nếu trên (A) account nào đó dùng để đọc thông tin rồi sync qua (B) mà không có quyền "x" cho thư mục và quyền "r" cho files thì bó tay con gà quay vì ngay trên (A) đã không thể thực thi rồi. Nếu trên (A) account nào đó dùng để đọc thông tin rồi sync qua (B) mà có quyền "x" cho thư mục và quyền "r" cho files và trên (B) thì có quyền sudo thì trên (B) nó chạy với quyền hạn root. Bởi thế, phải dùng options -og. :)]]>
/hvaonline/posts/list/40819.html#251336 /hvaonline/posts/list/40819.html#251336 GMT