July 14, 2015

Làm gì khi Linux full disk ?

Vấn đề HĐH linux full disk là một vấn đề khá rắc rồi với những ai quản trị web trên Server Linux, VPS. Nguyên nhân có thể do các file log web, mail queue, log mail…. Vậy làm thế nào để tìm nhưng file hay thư mục nào đang chiếm nhiều dung lượng nhất trên ổ cứng. Thông thường chúng ta cần tìm ở một số thư mục chính như /tmp, /home, /var.
Trong bài này tôi xin chia sẻ một số câu lệnh quen thuộc mà tôi hay dùng:
1. Sử dụng lênh du
Ví dụ tôi muốn thống kê 10 file/ thư mục chiếm nhiều dung lượng nhất trong thư mục /var:
#du -a /var | sort -n -r | head -n 10
Với các thư mục khác thì tương tự bạn chỉ cần thay đường dẫn. Thường trong mục /var bạn nên để ý đến dung lượng của mấy file log trong đó.
  • du: Tính dung lượng ổ cứng mà file/thư mục đang chiếm dụng.
  • sort: Sắp xếp các dòng của một file text hoặc của dữ liệu truyền vào.
  • output: Hiển thị phần đầu nội dung một file văn bản, ví dụ 10 dòng đầu tiên của kết quả sau sắp xếp sẽ là 10 file/thư mục chiếm nhiều dung lượng nhất
Nếu muốn chính xác hơn thì nên dùng cách sau:
# cd /duong_dan/thu_muc_muon_kiem_tra/
# du -hsx * | sort -rh | head -10
Các thông số liên quan:
-h (du -h): Hiển thị dung lượng quen thuộc (1K, 1M, 1G)
-s (du -h): Chỉ hiện thống kê chung kết quả kiểm tra của lệnh du
-x (du -x): Bỏ qua thư mục khác định dạng file hệ thống
-r (sort -r): Đảo ngược kết quả so sánh
-h (sort -h): So sánh bằng đơn vị đo lường quen thuộc (K, M, G). Tuy nhiên chỉ áp dụng cho lệnh sort cài đặt thêm theo giấy phép đi kèm (GNU)
-10 (-n 10): Hiển thị 10 dòng đầu tiên của kết quả tìm kiếm.
2. Lệnh df
# df: Kiểm tra dung lượng ổ cứng mà các file hệ thống sử dụng
# df -a:  Hiển thị thông tin ổ đĩa các file hệ thống sử dụng
#df -h: Hiện thỉ dung lượng sử dụng dạng MB, GB
# df -hT /home: Hiển thị thông tin thư mục /home
# df -k: Hiển thị thông tin các file hệ thống theo bytes
# df -m: Hiển thị thông tin hệ thống theo MB
# df -h: Hiển thị thông tin hệ thống theo GB
# df -T: Xem thông tin định dạng file hệ thống
3. Sử dụng script:
Muốn tìm kiếm tất cả các file có dung lượng >MB bằng find với syntax:
# find {/path/to/directory/} -type f -size +{size-in-kb}k -exec ls -lh {} \; | awk “{ print $9 “: ” $5 }”
Ví dụ: Tìm trong tất cả các thư mục các file có dung dượng > 10MB
# find . -type f -size +10000k -exec ls -lh {} \; | awk “{ print $9 “: ” $5 }”
Tìm trong /var/log:
# find /var/log -type f -size +100000k -exec ls -lh {} \; | awk “{ print $9 “: ” $5 }”

Related Posts:

  • Hướng dẫn tìm file bất kỳ trong Linux Thông thường các webserver hoặc service bạn cài đặt trên server sử dụng 1 file quản lý cấu hình. Mỗi service lại có file cấu hình với đường dẫn khác nhau. Bản thân mình nhiều khi cũng không nhớ nổi file cấu hình được để ở đâ… Read More
  • Hiển thị số dòng trong vi / vim Linux Hiển thị số dòng ở vi / vim có thể sẽ rất cần thiết khi debug code hoặc debug lỗi, hoặc sẽ giúp bạn dễ dàng tìm đến dòng cần thiết. Tiếp theo bài viết hướng dẫn sử dụng text editor vi trong Linux cơ bản, bài viết … Read More
  • 25 cách tăng cường bảo mật cho một máy chủ Linux Hầu hết mọi người đều cho rằng hệ thống bảo mật của Linux đã được cài đặt sẵn và không cần phải thay đổi nhiều. Tuy nhiên, Linux có những mô hình bảo mật riêng cho các trường hợp khác nhau.Việc lựa chọn chế độ phù hợp c… Read More
  • 10 Useful Interview Questions on Linux Services and Daemons Here in this series of Interview Article, we would be covering Services and Daemons in Linux. 1. What is Exim Service? What is the purpose of this Service? Answer : Exim is an Open Source Mail Transfer Agent… Read More
  • Hướng dẫn sử dụng text editor vi trong linux Hôm trước, mình có hướng dẫn các bạn cách sử dụng text edior nano trong Linux. Còn một công cụ nữa có chức năng tương tự là vi, hôm nay mình sẽ hướng dẫn sử dụng tiếp. 1. Mở file Cũng giống như các editor khác bạn cần… Read More

0 comments:

Post a Comment