Chuyện của sys

DevOps Blog

Linux là cái gì? July 9, 2017

Việc cần làm đầu tiên của 1 Linux system admin đọc được tiếng Anh và hiểu được Linux là gì?

Từ điện thoại, xe hơi, siêu máy tính cho đến đồ gia dụng, tất cả đều có mặt của hệ điều hành Linux.

Linux. It’s been around since the mid ‘90s, and has since reached a user-base that spans industries and continents. For those in the know, you understand that Linux is actually everywhere. It’s in your phones, in your cars, in your refrigerators, your Roku devices. It runs most of the Internet, the supercomputers making scientific breakthroughs, and the world\’s stock exchanges. But before Linux became the platform to run desktops, servers, and embedded systems across the globe, it was (and still is) one of the most reliable, secure, and worry-free operating systems available.

Vậy nó có giống như Windows XP, Windows 7, Windows 10, MacOS X hay không? Nó bao gồm những thành phần nào? Tại sao lại sử dụng nó?

Just like Windows XP, Windows 7, Windows 8, and Mac OS X, Linux is an operating system. An operating system is software that manages all of the hardware resources associated with your desktop or laptop. To put it simply – the operating system manages the communication between your software and your hardware.
This is the one question that most people ask. Why bother learning a completely different computing environment, when the operating system that ships with most desktops, laptops, and servers works just fine? To answer that question, I would pose another question. Does that operating system you’re currently using really work “just fine”? Or are you constantly battling viruses, malware, slow downs, crashes, costly repairs, and licensing fees?

Ubuntu, Fedora, Arch … khác nhau như thế nào? tại sao lại lắm chuyện khi đưa ra 1 đống “distro”như thế?

Linux has a number of different versions to suit nearly any type of user. From new users to hard-core users, you’ll find a “flavor” of Linux to match your needs. These versions are called distributions (or, in the short form, “distros.”) Nearly every distribution of Linux can be downloaded for free, burned onto disk (or USB thumb drive), and installed (on as many machines as you like).

Nên dùng RedHat hay Ubuntu cho server của bạn? Cái nào là miễn phí hoàn toàn, cái nào phải trả tiền để mua gói dịch vụ hỗ trợ?

Which distribution you use will depend upon the answer to three simple questions:

  • How skilled of a computer user are you?
  • Do you prefer a modern or a standard desktop interface?
  • Server or desktop?

Đọc tới đây là bắt đầu rối tinh rối mù rồi, nhưng vẫn phải quyết định “thử” 1 cái nào đó phù hợp với nhu cầu của mình. Nếu như là 1 system admin hoặc muốn trở thành 1 thứ gì đó tương tự, thì hãy bắt đầu ngay và luôn. Hãy cài đặt nó 🙂

For most, the idea of installing an operating system might seem like a very daunting task. Believe it or not, Linux offers one of the easiest installations of all operating systems. In fact, most versions of Linux offer what is called a Live distribution – which means you run the operating system from either a CD/DVD or USB flash drive without making any changes to your hard drive. You get the full functionality without having to commit to the installation. Once you’ve tried it out, and decided you wanted to use it, you simply double-click the “Install” icon and walk through the simple installation wizard.

Tôi chọn Ubuntu 14.04 LTS cho laptop đang sử dụng và Centos, Ubuntu cho hệ thống máy chủ mình đang vận hành.
Tới đây thì chắc bạn cũng đang bận bịu với việc google cách cài đặt 1 hệ điều hành Linux như thế nào? hoặc là đang google dịch để hiểu bài viết trên nói gì, nhưng dù sao, thì cũng chào mừng các bạn đến 1 thế giới mới sau khi gõ “Linux là gì?”
 
 
 

No Comments on Linux là cái gì?
Tags:
Categories: Linh tinh

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