Lập trình nhân Linux _Thiết lập thời gian hệ thống trong shell#!/bin/bash # Hàm hiển thị thời gian thực function hien_thi_thoi_gian_thuc { date +"%A, %d %B %Y %T %Z" echo " " } # Hàm cài
Trang 1Lập trình nhân Linux _Thiết lập thời gian hệ thống trong shell
#!/bin/bash
# Hàm hiển thị thời gian thực
function hien_thi_thoi_gian_thuc {
date +"%A, %d %B %Y %T %Z"
echo " "
}
# Hàm cài đặt thời gian hệ thống
function cai_dat_thoi_gian_he_thong {
# Tạm thời tắt dịch vụ systemd-timesyncd
sudo systemctl stop systemd-timesyncd
# Nhập thời gian mới từ người dùng
read -p "Nhập thời gian mới (YYYY-MM-DD HH:MM:SS): " thoi_gian_moi
# Kiểm tra định dạng thời gian mới
if ! date -d "$thoi_gian_moi" >/dev/null 2>&1; then
echo "Định dạng thời gian không hợp lệ Thời gian phải có định dạng YYYY-MM-DD HH:MM:SS"
return fi
# Cài đặt thời gian hệ thống bằng timedatectl
sudo timedatectl set-time "$thoi_gian_moi"
# Kiểm tra trạng thái và thông tin thời gian hệ thống
sudo timedatectl status
sudo date -s "$thoi_gian_moi"
echo "Đã cập nhật thời gian hệ thống thành công"
Trang 2echo " "
}
# Hàm tự động cập nhật lại thời gian thực
function dong_bo_thoi_gian_he_thong {
# Đồng bộ hóa thời gian với máy chủ thời gian
sudo systemctl restart systemd-timesyncd
echo "Đã cập nhật thời gian hệ thống từ máy chủ thời gian thành công" echo " "
}
# Hiển thị menu chức năng và yêu cầu người dùng chọn
while true;
do
echo "============MENU============"
echo "1 Hiển thị thời gian thực"
echo "2 Cài đặt thời gian hệ thống"
echo "3 Đồng bộ thời gian hệ thống"
echo "0 Thoát"
read -p "Chọn chức năng: " lua_chon
case $lua_chon in
1)
echo "Thời gian hiện tại là: $(hien_thi_thoi_gian_thuc)"
;;
2)
cai_dat_thoi_gian_he_thong
Trang 33)
dong_bo_thoi_gian_he_thong
;;
0) echo "Cảm ơn bạn đã sử dụng chương trình!!!" echo " "
break;
;;
esac
done