Tập lệnh giám sát ổ cứng cho máy chủ Linux không đầu

Jan 25, 2025
Bảo trì và Tối ưu hóa

Ổ cứng hiện đại có một cơ chế bên trong được gọi là S.M.A.R.T. qua đó có thể biết khi nào đĩa cứng sắp hỏng. Máy chủ có thể gửi Email cho bạn trước khi thất bại như vậy không?

Tổng quat

Các chương trình như “mdadm” (để quản lý RAID phần mềm) và “Palimpsest Disk Utility” (được sử dụng trên Ubuntu LiveCD), sử dụng thông tin S.M.A.R.T để thông báo cho bạn biết khi nào đĩa sắp hoặc đã bị lỗi. Tuy nhiên, trên một máy chủ không đầu (không có GUI), không có dịch vụ nào thông báo cho bạn về sự diệt vong đang chờ xử lý trước khi quá muộn. Hơn nữa, làm thế nào bạn có thể biết về nó nếu không đăng nhập thủ công vào máy chủ?

Tập lệnh này, khi được chạy mỗi ngày một lần với cron, sẽ cảnh báo nếu có bất kỳ số lượng thành phần xấu nào trên Ổ cứng của hệ thống đạt đến giới hạn cố tình thấp hơn ngưỡng "ổ đĩa bị hỏng" và gửi cảnh báo qua email cho quản trị viên của máy.

Điều kiện tiên quyết và giả định

  • Bạn đã thiết lập hỗ trợ qua Email cho máy chủ bằng cách sử dụng “ Cách thiết lập thông báo qua email trên Linux ”Hướng dẫn.
  • Bạn đang sử dụng hệ thống dựa trên Debian.
  • Bạn không sử dụng bộ điều khiển RAID * phần cứng.
  • Bạn sẽ thấy tôi sử dụng VIM làm chương trình biên tập, điều này là do tôi đã quen với nó… bạn có thể sử dụng bất kỳ trình chỉnh sửa nào khác mà bạn muốn.

* Vì rất có thể bộ điều khiển RAID phần cứng chặn quyền truy cập của hệ thống vào thông tin này.

Thiết lập

Cài đặt gói “smartmontools” đọc thông tin S.M.A.R.T từ bộ điều khiển ổ cứng và trình bày cho chúng tôi.

sudo aptitude cài đặt smartmontools

Tạo tập lệnh màn hình:

sudo vim /root/smart-monitor.sh

Biến nó thành nội dung:

#! / Bin / Bash
######## Chức năng email ########
email_admin_func ()
{
echo "Tới: [email protected]"> $ temp_email_file
echo "Từ: [email protected]" >> $ temp_email_file
echo "Chủ đề: Ngưỡng màn hình S.M.A.R.T bị vi phạm" >> $ temp_email_file
echo "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo "Đã gửi Email tới Quản trị viên"
}

smartc_func ()
{
/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s '' | cut -d '' -f11
}

######## Kết thúc Chức năng ########

######## Đặt thông số làm việc ########
temp_email_file = / tmp / smart_monitor.txt
allow_threshold = 5 # đặt số lượng thành phần xấu mà bạn sẵn sàng sử dụng, đề xuất 5.

########Động cơ########
cho tôi trong sda sdb; do # Thêm hoặc bớt tên đĩa khỏi danh sách này nếu thích hợp cho thiết lập của bạn.
nếu [[ "`smartc_func $i`" -ge $allowed_threshold ]]; sau đó
echo Gửi email cho quản trị viên
email_admin_func "Một trong các HD trên" `hostname`", đã đạt đến giới hạn ngưỡng trên !!! n Ngưỡng được đặt thành: $ allow_threshold và trạng thái đĩa $ i là: "` smartc_func $ i` ""

làm xong

Những điểm chính cần lưu ý là:

  • Chức năng email - Đặt thông tin thích hợp như tên máy và email quản trị viên.
  • Ngưỡng cho phép - Đặt thông số này ở mức bạn cảm thấy phù hợp, tôi đã sử dụng 5 vì giới hạn được đặt cho ổ cứng “cấp máy chủ” mà tôi đã sử dụng là 10. (Tôi đã tìm thấy ngưỡng cho ổ đĩa “tiêu dùng” là cao tới 140).
  • Đặt các thiết bị mà bạn muốn theo dõi bằng cách điều chỉnh danh sách tên đĩa trong vòng lặp “for”. Hiện tại hai đĩa (sda & sdb) được bao gồm, vì vậy hãy điều chỉnh cho thiết lập của bạn. Bạn có thể bao gồm tất cả các đĩa của mình hoặc chỉ một số đĩa, nếu bạn cần * loại trừ một đĩa vì lý do nào đó.

* trong thiết lập ban đầu của tôi, đĩa đầu tiên là ổ đĩa flash nên việc đọc thông tin của nó nếu có thể sẽ không được sử dụng nhiều.

Làm cho tập lệnh có thể thực thi:

sudo chmod + x /root/smart-monitor.sh

Thiết lập đã hoàn tất.

Lên lịch để tập lệnh được chạy tự động

Chúng tôi muốn làm cho tập lệnh chạy tự động vì vậy chúng tôi sẽ tạo một công việc Cron mới cho nó.
Như đã nêu trong “ Cách thiết lập thông báo qua email trên Linux ”Hướng dẫn kết quả của việc làm như vậy, là nếu bản thân tập lệnh gặp lỗi, cron sẽ tự động thông báo cho chúng tôi qua email ngay khi nó xảy ra.

Mở trình lập lịch công việc cron:

sudo crontab -e

Thêm cái này vào nội dung của nó:

0 7 * * * /root/smart-monitor.sh > /tmp/last_smart_monitor_run.log

Điều này sẽ đặt tập lệnh được chạy vào lúc 7 giờ sáng hàng ngày.


Tất cả lĩnh vực của bạn đều thuộc về chúng tôi :)

Raspberry Pi Box Hard Drive Scripts


Bảo trì và Tối ưu hóa - Các bài báo phổ biến nhất

Cách tùy chỉnh định dạng ngày trong thanh tác vụ Windows 7

Bảo trì và Tối ưu hóa Jan 17, 2025

Bạn đã bao giờ ước rằng Windows hiển thị ngày đầy đủ thay vì định dạng ngày ngắn trên Thanh tác vụ Windows 7 chưa? Với hướng dẫn dễ dàn..


Cách điều chỉnh tốc độ nhấp của nút Home trên iPhone hoặc iPad của bạn

Bảo trì và Tối ưu hóa Jun 1, 2025

iOS sử dụng nút Home một cách thông minh. Bạn có thể nhấp đúp để chuyển đổi ứng dụng và thậm chí nhấp ba lần để thực hiện ..


Cách sử dụng Trình quản lý tệp tích hợp của Android 6.0

Bảo trì và Tối ưu hóa Jul 10, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Android bao gồm toàn quyền truy cập vào hệ thống tệp, hoàn chỉnh với hỗ trợ thẻ SD có thể tháo rời. Nhưng b..


Cách làm cho văn bản lớn hơn và dễ đọc hơn trên Android

Bảo trì và Tối ưu hóa Jul 3, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Hãy đối mặt với vấn đề này: cho dù màn hình trên điện thoại và máy tính bảng của chúng ta có tốt đến �..


Cách làm cho Firefox 4 trông giống như Firefox 3

Bảo trì và Tối ưu hóa Apr 6, 2025

Sau khi nâng cấp Firefox 3 lên phiên bản 4, khi bạn lần đầu tiên khởi chạy bản phát hành mới, giao diện sẽ khác rất nhiều. Nếu bạn thấy mình..


Tiết kiệm tiền và năng lượng với Monitor ES

Bảo trì và Tối ưu hóa Jun 29, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Ngày nay, việc tiết kiệm tiền cho chi phí điện và giảm cái gọi là “lượng khí thải carbon” là rất quan trọng. Hôm ..


Âm nhạc tuyệt vời và khả năng da diết với Xion

Bảo trì và Tối ưu hóa Apr 20, 2025

Là một người hâm mộ âm nhạc lớn, tôi thích cover các ứng dụng phần mềm âm thanh khác nhau để tìm kiếm ứng dụng cuối cùng. Hôm nay chúng ta cùng tìm..


Tắt Flip3D trong Windows Vista hoặc Windows 7

Bảo trì và Tối ưu hóa Jan 27, 2025

Flip3D là tính năng vô dụng nhất trong Windows Vista (và 7). Nó chậm hơn Alt + Tab và hoàn toàn vô giá trị về mọi mặt. Bạn sẽ tốt hơn nhiều nếu sử dụn..


Thể loại