• About
  • Advertise
  • Privacy & Policy
  • Contact
DevZone
  • Home
  • News
  • Dev
    • All
    • Algorithm
    • Architecture
    • Database
    • Design
    • DevOps
    • IoT
    • Network
    • Test
    • Web
    Phương thức xử lý mảng trong javascript

    Phương thức xử lý mảng trong javascript

    Bảo vệ content, chống copy nội dung web!

    Bảo vệ content, chống copy nội dung web!

    Lưu ý mệnh đề NOT IN trong SQL

    Lưu ý mệnh đề NOT IN trong SQL

    SOLID Principles: Dependency Inversion Principle

    SOLID Principles: Dependency Inversion Principle

    Solid Principles: Interface Segregation Principle

    Solid Principles: Interface Segregation Principle

    Tìm hiểu về composer.json schema (phần 2 – autoload)

    Tìm hiểu về composer.json schema (phần 2 – autoload)

    IPC – Đằng sau sự thành công của Chromium

    IPC – Đằng sau sự thành công của Chromium

    Dựng layout website với CSS Grid Layout

    Dựng layout website với CSS Grid Layout

    Golang cơ bản (p1)

    Golang cơ bản (p1)

    Trending Tags

    • Idea
    • Lifestyle
    No Result
    View All Result
    • Home
    • News
    • Dev
      • All
      • Algorithm
      • Architecture
      • Database
      • Design
      • DevOps
      • IoT
      • Network
      • Test
      • Web
      Phương thức xử lý mảng trong javascript

      Phương thức xử lý mảng trong javascript

      Bảo vệ content, chống copy nội dung web!

      Bảo vệ content, chống copy nội dung web!

      Lưu ý mệnh đề NOT IN trong SQL

      Lưu ý mệnh đề NOT IN trong SQL

      SOLID Principles: Dependency Inversion Principle

      SOLID Principles: Dependency Inversion Principle

      Solid Principles: Interface Segregation Principle

      Solid Principles: Interface Segregation Principle

      Tìm hiểu về composer.json schema (phần 2 – autoload)

      Tìm hiểu về composer.json schema (phần 2 – autoload)

      IPC – Đằng sau sự thành công của Chromium

      IPC – Đằng sau sự thành công của Chromium

      Dựng layout website với CSS Grid Layout

      Dựng layout website với CSS Grid Layout

      Golang cơ bản (p1)

      Golang cơ bản (p1)

      Trending Tags

      • Idea
      • Lifestyle
      No Result
      View All Result
      DEVZONE
      No Result
      View All Result
      Home Dev DevOps

      Quản lý log với logrotate

      wp_quanbkacntt by wp_quanbkacntt
      November 14, 2019
      in DevOps
      0
      Quản lý log với logrotate

      Vấn đề : Bạn đã bao giờ gặp log lên đến hàng GB? Log của bạn được sinh ra để debug lỗi khi chương trình chạy, giờ lại làm server chết toi vì đầy ổ cứng?
      Hay bạn khó tìm được log của bạn nó nằm ở đâu? Nếu vậy hãy dành vài phút để đọc về logrotate, nó có thể giúp bạn chút ít đấy :D.
      Bài viết dành cho những quản trị viên có kiến thức cơ bản về linux.

      logrotate là gì?

      logrotate là công cụ quay vòng, nén và gửi log hệ thống.

      logratote được thiết kế để giảm tải cho việc quản trị số lượng lớn files log. Nó tự động quay vòng, nén, xóa và gửi email files log. Mỗi file log có thể được xử lý hàng ngày, hàng tuần hoặc hàng tháng hoặc khi log trở nên quá lớn.

      logrotate hoạt động như thế nào

      logrotate được cài mặc định với centos, bạn có thể kiểm tra bằng cách gõ lệnh

      [root@shopbay httpd]# logrotate
      logrotate 3.8.6 - Copyright (C) 1995-2001 Red Hat, Inc.
      This may be freely redistributed under the terms of the GNU Public License
      Usage: logrotate [-dfv?] [-d|--debug] [-f|--force] [-m|--mail command] [-s|--state statefile] [-v|--verbose] [-l|--log STRING] [--version] [-?|--help] [--usage] [OPTION...] <configfile>

      logrotate được chạy hàng ngày qua cronjob. Bạn có thể kiểm tra bằng cách gõ lệnh

      crontab -e

      hoặc không :D. Thật ra thì logrotate được chạy bằng cronjob nhưng cài thẳng vào hệ thống tại đường dẫn /etc/cron.daily/logrotate  cơ. Bạn có thể gõ lệnh cat /etc/cron.daily/logrotate để xem xem hệ thống chạy logrotate như thế nào.

      Logrotate khi chạy bằng cronjob hoặc khi chạy bằng tay, sẽ đọc từ file config từ trong thư mục và thực thi quá trình tự chuyển biến log của nó.

      /etc/logrotate.d/

      Cấu hình logrotate cho apache

      Mặc định khi apache được cài thì hệ thống đã tự tạo file cấu hình logrotate cho apache rồi, nhưng có thể cấu hình không được như ta mong muốn.

      #/etc/logrotate.d/httpd 
      /var/log/httpd/*log {
           missingok
           notifempty
           sharedscripts
           delaycompress
           postrotate
               /sbin/service httpd reload > /dev/null 2>/dev/null || true
           endscript
       } 

      Như bạn đã thấy ở trên, mặc định logrotate đã xử lý log của apache theo những tùy chọn sau đây :

      • /var/log/httpd/*log : Toàn bộ file đặt trong thư mục /var/log/httpd với đuôi file là log sẽ được xử lý.
      • missingok : Không có log file cũng không sao.
      • notifempty : Not if empty, log rỗng thì không làm gì cả.
      • sharedscripts : Bình thường, những câu lệnh prerotate, postrorate sẽ được thực thi mỗi khi logrotate xử lý 1 file log mà match tên file ở trên. Tuy nhiên nếu sử dụng option này thì dù có bao nhiêu file log thỏa mãn, postrotate và prerotate command sẽ chỉ được thực hiện 1 lần.
      • postrotate/endscript : Câu lệnh được thực hiện sau khi rotate thực hiện xong.
      • delaycompress : Đưa file log cũ vào hàng chờ nén. Nó chỉ được thực hiện khi compress được đưa vào danh sách option thôi.

      Tôi sẽ thay đổi file cấu hình log một chút như sau :

       
       /var/log/httpd/*log {
           daily
           rotate 30
           missingok
           notifempty
           sharedscripts
           compress
           delaycompress
           postrotate
       /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
           endscript
       }
       
       

      Ở đây tôi sẽ thêm thắt một chút cho logrotate :

      • daily : xử lý log mỗi ngày
      • rotate 30 : quay vòng 30 ngày, ngày 31 thì xóa log đi
      • compress : nén log cũ lại

      Ok, test thử xem nào :

      logrotate -d /etc/logrotate.d/httpd 

      Bạn sẽ thấy logrotate sẽ hiển thị những gì nó Định làm. -d ở đây là tham số debug, logrotate sẽ không làm gì với log của bạn cả. Nếu bạn ưng, hãy chạy logrotate không thôi.

      Kết luận

      Logrotate là công cụ không thể bỏ qua nếu bạn phải quản trị log một cách thủ công. Để biết thêm các option của logrotate hãy truy cập : https://linux.die.net/man/8/logrotate

      Để biết thêm chi tiết, vui lòng comment tại đây hoặc liên hệ : quanbka.cntt@gmail.com để trao đổi thêm.

      Xin cảm ơn!

      Thả tim (3 lượt thả tim)
      Loading...
      Previous Post

      Apify - đơn giản hóa việc xây dựng RESTful API, thậm chí không cần viết code

      Next Post

      Jira là gì? Cài đặt và Crack Jira Software

      wp_quanbkacntt

      wp_quanbkacntt

      Next Post
      Jira là gì? Cài đặt và Crack Jira Software

      Jira là gì? Cài đặt và Crack Jira Software

      Leave a Reply Cancel reply

      Your email address will not be published. Required fields are marked *

      Recent News

      Lập trình viên không dùng máy Mac nhiều như người ta đã nghĩ

      Lập trình viên không dùng máy Mac nhiều như người ta đã nghĩ

      July 25, 2020
      Dấu hiệu nhận biết sức khỏe qua liềm móng tay

      Dấu hiệu nhận biết sức khỏe qua liềm móng tay

      June 26, 2020
      Phương thức xử lý mảng trong javascript

      Phương thức xử lý mảng trong javascript

      May 31, 2020
      Lợi ích của việc tập thể dục thường xuyên

      Lợi ích của việc tập thể dục thường xuyên

      May 25, 2020
      DEVZONE

      Browse by Category

      • Algorithm
      • Architecture
      • Database
      • Design
      • Dev
      • DevOps
      • Idea
      • IoT
      • Lifestyle
      • Network
      • News
      • Test
      • Uncategorized
      • Web
      • About
      • Advertise
      • Privacy & Policy
      • Contact

      © 2019 Devzone

      No Result
      View All Result

      © 2019 Devzone