Hướng dẫn xử lý check disk, down, xóa log … trên Oracle linux

Hướng dẫn xử lý check disk, down, xóa log … trên Oracle linux

 

  1. Hướng dẫn tạo file archive xóa log

Bước 1: Tạo file  với nội dung sau

su – oracle

vi /home/oracle/scripts/archive.rman

===========================

RUN {
CROSSCHECK ARCHIVELOG ALL;
DELETE force noprompt archivelog until time ‘SYSDATE-7’;
}

===========================

Tạo file archive.sh với nội dung sau

vi /home/oracle/scripts/archive.sh

===========

rman target / cmdfile /home/oracle/scripts/archive.rman

===========

 

Bước 2: vào crontab -e —> đặt lịch chạy 22h mõi ngày

0 22 * * * sh /home/oracle/scripts/archive.sh


2. Check disk Server DB —> Chạy với quyền root

Tạo thư mục và file script

mkdir -p /u01/script
touch /u01/script/checkdisk.sh
chmod 777 /u01/script/checkdisk.sh
vi /u01/script/checkdisk.sh

Paste noi dung sau vao: ====> Chổ dòng số 4 từ dưới đếm lên thay IP và tên Server DB chính or DB standby vào

======================================
#!/bin/bash

# Cấu hình ngưỡng và thông tin Telegram
THRESHOLD=80
BOT_TOKEN=”1209083142:AAGy8C4WUvtmP501lWrA9wBlmP0PW831jhs”
CHAT_ID=”-4561457361″

# Hàm gửi thông báo qua Telegram
send_telegram() {
local message=$1
curl -s -X POST “<https://api.telegram.org/bot$BOT_TOKEN/sendMessage>” -d chat_id=”$CHAT_ID” -d text=”$message”
}

# Kiểm tra dung lượng ổ đĩa
disk_usage=$(df / | grep / | awk ‘{print $5}’ | sed ‘s/%//g’)
if [ “$disk_usage” -gt $THRESHOLD ]; then
message=”[Thanh Ba DB] [192.168.0.2] CẢNH BÁO: Dung lượng ổ đĩa vượt ngưỡng $THRESHOLD%: $disk_usage%”
echo “$message”
send_telegram “$message”
fi
=====================================

Lập lịch chạy lúc 3 giờ sáng

crontab -e

Thêm dòng sau vào

0 3 * * * sh /u01/script/checkdisk.sh

Restart lại crond để apply

systemctl restart crond

 

3. Check máy chủ DB down

–  Tạo file

touch /u01/script/checkdown.sh
chmod 777 /u01/script/checkdown.sh
vi /u01/script/checkdown.sh

Thêm nội dung sau vào —> Chổ dòng List off IPs  thêm các IP tương ứng của máy chủ App, DB chính, DB phụ

===============================

#!/bin/bash

# Telegram Bot Information
bot_token=”1209083142:AAGy8C4WUvtmP501lWrA9wBlmP0PW831jhs”
chat_id=”-4561457361″

# List of IPs to check
standby_ip=”192.168.0.50″ # IP of Oracle Standby
app_main_ip=”192.168.0.100″ # IP of the main application
app_secondary_ip=”192.168.0.101″ # IP of the secondary application

# Function to send alerts via Telegram
send_alert() {
local message=$1
curl -s -X POST “https://api.telegram.org/bot$bot_token/sendMessage” -d chat_id=”$chat_id” -d text=”$message”
}

# Function to check the status of an IP
check_ping() {
local ip=$1
ping -c 1 -W 2 $ip > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo “$ip DOWN”
return 1
else
echo “$ip UP”
return 0
fi
}

# Check each IP and send an alert if it’s DOWN
if ! check_ping $standby_ip; then
send_alert “ALERT: Connection lost to Standby Server (IP: $standby_ip)!”
fi

if ! check_ping $app_main_ip; then
send_alert “ALERT: Connection lost to Main Application (IP: $app_main_ip)!”
fi

if ! check_ping $app_secondary_ip; then
send_alert “ALERT: Connection lost to Secondary Application (IP: $app_secondary_ip)!”
fi

===========================

Lập lịch chạy lúc 10 phút 1 lần

crontab -e

Thêm dòng sau vào

*/15 * * * * sh /u01/script/checkdown.sh

Restart lại crond để apply

systemctl restart crond

 

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận