Chuyện của sys

DevOps Blog

Rsync – Remote sync June 9, 2015

Giới thiệu sơ lược:
Rsync (Remote sync), là 1 công cụ đồng bộ dữ liệu( file, thư mục) giữa các remote server hoặc local thường được sử dụng trong môi trường *nix thay cho lệnh cp thông thường.

Một số đặc điểm:

  • Rsync đồng bộ hóa 2 nơi bằng cách copy dữ liệu theo dạng block (mặc định) chứ không copy theo dạng file(có option riêng hỗ trợ) , bên tốc độ được cải thiện nhiều khi áp dụng với file, thư mục có dung lượng lớn.
  • Rsync cho phép mã hóa dữ liệu trong qúa trình tranfer sử dụng ssh, nên qúa trình này được bảo mật.
  • Rsync cho phép tiết kiệm băng thông bằng phương pháp nén dữ liệu ở nguồn và giải nén ở đích, tuy nhiên việc này tốn thêm 1 lượng thời gian đáng kể.
  • Một điểm đặc biệt của rsync là cho phép giữ nguyên được tất cả các thông số của thư mục và file (sử dụng tham số -a)  : Recursive mode, Symbolic links, Permissions, TimeStamp, Owner và group
  • Rsync không yêu cầu quyền super-user.
  • (Xem thêm qua man rsync)

Cài đặt:
Cài đặt tương đối dễ dàng trong tất cả các bản phân phối
Cách sử dụng:
Câu lệnh chung:

rsync -options SRC DEST

  • Đồng bộ hóa trên local:

rsync -a ~/backup-Code/ ~/tmp/

  • Push lên remote server:

rsync -a /home/nhanpt5/backup-Code/ [email protected]:~/Codebk/Push

  • Pull từ remote server:

rsync -a [email protected]:~/Codebk/Push /home/nhanpt5/backup-Code/Pull
Một số tham số cần biết (flags):
-v: hiển thị kết quả
z: dữ liệu trên đường truyền sẽ được nén lại. Có nghĩa là nén ở nguồn và giải nén ở đích, điều này giúp tiết kiệm băng thông khi phải đồng bộ một lượng dữ liệu lớnd
-d: chỉ đồng bộ cây thư mục, không đồng bộ file
-P: quan sát qúa trình đồng bộ dữ liệu
-a: cho phép giữ nguyên được tất cả các thông số của thư mục và file
Một số tùy chọn cần biết (options):
-delete : Xóa file, thư mục ở đích
Sử dụng option –delete nếu bạn ở trong trường hợp sau: Nếu muốn đồng bộ hoàn toàn giữa 2 nơi, các file, folder ở đích mà không tồn tại ở server nguồn sẽ bị xóa bỏ để đảm bảo server đích là bản sao hoàn chỉnh của server nguồn.
-u: không ghi đè dữ liệu ở thư mục đích
Sử dụng option –u trong trường hợp bạn chỉ muốn đồng bộ những file, folder chưa tồn tại ở server đích. Những file đã tồn tại (đã được đồng bộ rồi) thì không đồng bộ nữa.
-existing: không tạo file mới ở đích
Chỉ muốn sync các file đã tồn tại ở đích (kiểu như update), không tạo các file mới. Sử dụng option -existing
-W:
Nếu bạn có băng thông rộng, CPU xử lý tốt, bạn có thể sử dụng option này để copy theo file. Ưu điểm là tốc độ sẽ nhanh hơn, không checksum tại server nguồn và đích. Sử dụng option -W
Ngoài ra còn nhiều tham số khác, tham khảo thêm phần man rsync
Áp dụng:
Rsync không hỗ trợ phần lập lịch tự động backup nên thường được sử dụng kèm với 1 công cụ khác để thực hiện 1 số công việc nhất định. Ví dụ: Dùng crontab kết hợp rsync, ssh để thực hiện việc push dữ liệu lên server hàng ngày. Ta sẽ thực hiện như sau:

Kịch bản:
Backup thư mục ~/Code hàng ngày (server local) và gửi lên server(192.168.1.128) chứa code tại thư mục ~/Codebk
Thiết lập chứng thực ssh bằng private key, đăng nhập server 192.168.1.128 không cần mật khẩu.
1. Dùng script backupfile để nén thư mục: vi ~/backup-Code/backupfile
#!/bin/bash
date=$(date +”%m-%d-%Y”)
filename=$date-backup.zip
source_folder=/home/nhanpt5/Code
dest_folder=/home/nhanpt5/backup-Code
# add folder to zip file
zip -r $dest_folder/$filename $source_folder > /dev/null
Cho chạy vào 3 a.m hàng ngày bằng cron
2. Dùng script tranfer để chuyển file backup lên server và xóa file ở local
#!/bin/bash
date=$(date +”%m-%d-%Y”)
filename=$date-backup.zip
dest_folder=/home/nhanpt5/backup-Code
#tranfer zip file to remote server dùng rsync
rsync -av $dest/$filename  [email protected]:~/Codebk/
#delete zip file
rm -f $dest_folder/$filename
Cho chạy vào 3.30 a.m hàng ngày bằng cron
Thông tin crontab -l
0 3 * * * ~/backup-Code/backupfile
30 3 * * * ~/backup-Code/tranfer >~/backup-Code/bk.log 2>&1
2 Comments on Rsync – Remote sync

Nguyễn Thắng playlist March 18, 2015

List nhạc hay!!!

No Comments on Nguyễn Thắng playlist
Categories: Cũ hơn

Sharepoint 2013 Configuration Wizard fails at step 2 March 6, 2015

Cài đặt Sharepoint Foundation 2013 standard alone trên Windows Server 2008R2 thì gặp lỗi này.

Dùng Powershell để chạy command này:
sharepoing3
Chờ cho nó chạy xong:

Chạy lại trình cài đặt, OK.
Cảm ơn từ bài viết :http://www.adventuresinsharepoint.co.uk/index.php/2013/02/02/configuration-failed-failed-to-create-the-configuration-database/

No Comments on Sharepoint 2013 Configuration Wizard fails at step 2
Categories: Cũ hơn

Fix lỗi NTLDR is missing trên Windows Server January 17, 2015

Gặp lỗi này khi mình Extend cái virtual disk của máy Windows Server 2003 R2 trên ESXi 5.1. Lỗi này xảy ra do thiếu file ntldr do boot loader trên ổ C bị lỗi, 🙁 chắc do mình extend nó gấp quá 😀
Dùng cách Recovery của Windows Server 2003 để fix lỗi này, may mà mình còn đĩa iso để mount vào CD.
Nhấn ESC để chọn boot bằng CD khi vào BIOS.
Khi màn hình Windows Setup hiện lên, chọn R để chuyển sang chế độ Recovery.
Tới màn hình này, đọc kỹ, Enter là thoát ra chứ không phải là đồng ý, bạn gõ “1” để chọn vào C:\Windows.
Tới đây gõ “map” để liệt kê danh sách các ổ có hệ thống, ở đây F:\ là ổ chứa CD
Copy 2 file từ CD vào ổ C:\
Sau đó “Exit” để thoát.
Khởi động lại máy sau khi đã eject CD ra.
Như vậy đã vào lại bình thường.
-.- một ngày đen đủi.

No Comments on Fix lỗi NTLDR is missing trên Windows Server
Categories: Cũ hơn