Giới Thiệu Về Script quetfilela.sh Được Sử Dụng Trên VPS

6 Tháng Một, 2025

Trong thời đại công nghệ số, an toàn dữ liệu và tính bình để của hệ thống là điều cần thiết đối với mời website. Đặc biệt, trong những trường hợp website của bạn bị xâm nhập hoặc thay đổi bất thường, việc phát hiện kịp thời rất quan trọng.

Script quetfilela.sh được Giza Data phát triển theo nhu cầu cá nhân nhằm giúp bạn giải quyết vấn đề này. Trong bài viết này, chúng tôi sẽ giới thiệu chi tiết về script và các chức năng quan trọng của nó.

Code của Script quetfilela.sh

#!/bin/bash

# Đường dẫn thư mục cần quét
DIRECTORY="/var/www/abc.com/htdocs"

# File lưu danh sách các file đã quét
LAST_SCAN_FILE="/root/last_scan_files.txt"

# Token và Chat ID của Telegram Bot
TOKEN="nhap-token-chat-telegram-vao-day"
CHAT_ID="nhap-idchat-chat-telegram-vao-day"

# File lưu các file hiện tại
CURRENT_SCAN_FILE="/root/current_scan_files.txt"

# Lấy thời gian hiện tại theo định dạng giờ, phút, ngày, tháng, năm
TIMESTAMP=$(date "+%H-%M-%d-%m-%Y")

# Đặt tên file diff với timestamp
DIFF_FILE="/root/diff_$TIMESTAMP.txt"

# Hàm gửi thông báo qua Telegram
send_telegram_message() {
    local MESSAGE=$1
    curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
        -d chat_id="$CHAT_ID" \
        -d text="$MESSAGE"
}

# Kiểm tra nếu file danh sách quét trước không tồn tại
if [ ! -f "$LAST_SCAN_FILE" ]; then
    # Nếu không tồn tại, tạo file với danh sách hiện tại
    find "$DIRECTORY" -type f > "$LAST_SCAN_FILE"
    exit 0
fi

# Quét thư mục hiện tại và lưu danh sách các file
find "$DIRECTORY" -type f > "$CURRENT_SCAN_FILE"

# So sánh danh sách hiện tại với danh sách trước đó và lưu vào file diff có tên mới
diff "$LAST_SCAN_FILE" "$CURRENT_SCAN_FILE" > "$DIFF_FILE"

# Nếu có sự khác biệt, thông báo về Telegram
if [ -s "$DIFF_FILE" ]; then
    send_telegram_message "Phát hiện file lạ trong thư mục $DIRECTORY. Kiểm tra chi tiết: $DIFF_FILE"
    
    # Đọc nội dung file diff và gửi nó qua Telegram
    DIFF_CONTENT=$(cat "$DIFF_FILE")
    send_telegram_message "Nội dung thay đổi:\n$DIFF_CONTENT"
fi

# Cập nhật danh sách các file đã quét
mv "$CURRENT_SCAN_FILE" "$LAST_SCAN_FILE"


# gắn file ở crontab 
# * * * * * /root/quetma.sh

Trong Script có nhiều thông tin bạn có thể để mặc định và chỉ cần thay thế 3 thông tin sau:

  • DIRECTORY=”/var/www/abc.com/htdocs” – hãy thay đổi /var/www/abc.com/htdocs bằng thư mục cần kiểm tra.
  • TOKEN=”nhap-token-chat-telegram-vao-day” – bạn thay thế nhap-token-chat-telegram-vao-day bằng token chat telegram của bạn.
  • CHAT_ID=”nhap-idchat-chat-telegram-vao-day” – bạn thay thế nhap-idchat-chat-telegram-vao-day bằng Chat ID của bạn ở telegram.

Bạn tạo file này ở thư mục /root của VPS, nhớ chown để nó có quyền chạy.

Đây là hình ảnh thực tế khi nó quét ra file lạ. Sẽ có 1 tin nhắn thông tin phát hiện file lạ và 1 tin nhắn thông tin các file lạ đó được gửi tới telegram được cài đặt. Bạn dựa vào đó để kiểm tra cho tiện nhé.


Script quetfilela.sh Là Gì?

Script quetfilela.sh được viết bằng Bash Shell, để chạy trên môi trường Linux VPS.

Chức năng chính của script này bao gồm:

  1. Quét Danh Sách File Trong Thư Mục Xác Định:
    • Script sẽ quét một thư mục cụ thể (mặc định là /var/www/abc.com/htdocs) và lưu danh sách các file trong thư mục này.
  2. Phát Hiện Sự Khác Biệt:
    • So sánh danh sách các file tại hai thời điểm: danh sách tại lần quét trước đó và danh sách của lần quét hiện tại.
  3. Gửi Thông Báo Qua Telegram:
    • Khi phát hiện bất kỳ thay đổi nào (chẳng hạn tạo mới file hoặc xóa file cũ), script sẽ gửi thông báo chi tiết qua Telegram bot.
  4. Tích Hợp Lịch Tự Động (Crontab):
    • Script có thể được thiết lập để chạy tự động theo lịch, chẳng hạn mỗi phút hoặc mỗi giờ, nhờ vào crontab.

Cách Thức Hoạt Động Của Script

  1. Cài Đặt Các Biến Cần Thiết:
    • Thư mục quét: Đạt đường dẫn của thư mục quét trong biến DIRECTORY.
    • Token và Chat ID: Thay Token và Chat ID thành thông tin Telegram bot của bạn.
  2. Quét Lần Đầu:
    • Khi chạy script lần đầu, nó sẽ tạo một danh sách file lưu trữ (để sử dụng cho các lần so sánh sau).
  3. Phát Hiện Sự Thay Đổi:
    • Tạo danh sách file hiện tại, so sánh với danh sách trước đó, lưu kết quả và gửi thông báo Telegram nếu phát hiện thay đổi.
  4. Cập Nhật Crontab:
    • Thêm script vào crontab để quét tự động mỗi phút:* * * * * /root/quetfilela.sh

Lợi Ích Khi Sử Dụng Script quetfilela.sh

  1. Phát Hiện Kịp Thời:
    • Giúp bạn nhanh chóng nhận biết bất kỳ thay đổi không mong muốn trong thư mục.
  2. An Toàn Dữ Liệu:
    • Tằng cường bảo vệ cho website khi phát hiện các tệp bị thay đổi hoặc tài liệu lạ.
  3. Tính Tự Động Cao:
    • Kết hợp với crontab, script sẽ tự quét theo lịch trình đặt trước, tiết kiệm thời gian giám sát thủ công.
  4. Tích Hợp Telegram Bot:
    • Gửi thông báo ngay lập tức, giúp bạn xử lý nhanh chóng khi phát hiện bất thường.

Kết Luận

Script quetfilela.sh là một giải pháp đơn giản, hiệu quả và linh hoạt giúp giám sát tình trạng file trong thư mục của VPS.

Với tính năng gửi thông báo qua Telegram và khả năng tích hợp với crontab, script này là một công cụ hữu ích cho các quản trị viên muốn đảm bảo an ninh hệ thống một cách tự động và kịp thời.

Hãy áp dụng script này ngay hôm nay để tăng cường bảo vệ cho hệ thống của bạn!

Quảng Cáo

Blog ..

Hướng dẫn dịch vụ ..

Zalo
Proxy
VPS
Tài khoản
Hosting
Tên miền
Facebook