Bài viết này giới thiệu 1 số tình huống viết Shell Scripts để tắt máy UNIX/Linux theo 1 số tình huống cụ thể.
1. Tắt máy định kỳ vào giờ nhất định mỗi ngày
Bạn có thể dùng cron và tạo một script như sau:
File: auto_shutdown.sh
#!/bin/bash
echo "Tắt máy vào $(date)" >> /var/log/auto_shutdown.log
shutdown -h now
Thiết lập cron:
Để tắt máy mỗi ngày lúc 23:00, dùng lệnh:
crontab -e
Và thêm dòng:
0 23 * * * /path/to/auto_shutdown.sh
2. Tắt máy nếu không có người dùng đăng nhập
File: shutdown_if_idle.sh
#!/bin/bash
# Kiểm tra số lượng người dùng đang đăng nhập
users_logged_in=$(who | wc -l)
if [ "$users_logged_in" -eq 0 ]; then
echo "$(date): Không có người dùng nào, tắt máy..." >> /var/log/auto_shutdown.log
shutdown -h now
else
echo "$(date): Có $users_logged_in người dùng, không tắt máy." >> /var/log/auto_shutdown.log
fi
Chạy script này mỗi 15 phút bằng cron:
*/15 * * * * /path/to/shutdown_if_idle.sh
3. Tắt máy nếu CPU < 5% trong 15 phút (hệ thống rảnh)
Yêu cầu cài đặt mpstat từ gói sysstat:
sudo apt install sysstat
File: shutdown_if_idle_cpu.sh
#!/bin/bash
# Kiểm tra mức sử dụng CPU trung bình trong 1 giây
cpu_idle=$(mpstat 1 1 | awk '/Average:/ { print $12 }' | cut -d'.' -f1)
if [ "$cpu_idle" -gt 95 ]; then
echo "$(date): CPU rảnh (idle > 95%), tắt máy..." >> /var/log/auto_shutdown.log
shutdown -h now
else
echo "$(date): CPU đang bận, không tắt máy." >> /var/log/auto_shutdown.log
fi
» Tin mới nhất:
» Các tin khác: