Tôi đã gặp một tình huống tương tự. Mục tiêu của tôi là có một giải pháp rất đơn giản để các chuyên viên máy tính không unix duy trì.
Khi máy chủ Linux của tôi khởi động lại, nó sẽ chạy một đoạn script gửi cảnh báo. Nhưng nếu điều này xảy ra như là một phần của "Cửa sổ bảo trì" được xác định là từ 11 giờ tối thứ bảy đến 6 giờ sáng chủ nhật, tôi không muốn gửi trang này, vì khởi động lại trong cửa sổ này là OK (áp dụng các bản vá, v.v.). Tôi đã thử nghiệm nó và nó hoạt động như dự định (theo như tôi có thể nói).  
Dưới đây là lịch để tham khảo:
      June 2018
Su Mo Tu We Th Fr Sa
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Đây là mã kiểm tra của tôi:
FMT='+%k:%a' # i.e. Sat:23 for Saturday at 11pm local time
TESTDATE1=$(date -d '2018-06-23 14:30:00' $FMT)
TESTDATE2=$(date -d '2018-06-23 23:59:59' $FMT)
TESTDATE3=$(date -d '2018-06-24 00:00:00' $FMT)
TESTDATE4=$(date -d '2018-06-24 05:59:59' $FMT)
TESTDATE5=$(date -d '2018-06-24 08:01:00' $FMT)
for VAL in "${TESTDATE1}" $TESTDATE2 $TESTDATE3 $TESTDATE4 $TESTDATE5
do
    #extract the 24 hour value and the day
    HH="$(echo ${VAL} | cut -d':' -f1)"
    DAY="$(echo ${VAL} | cut -d':' -f2)"
    echo Testing $VAL  $HH  $DAY
    if [[ "$DAY" = "Sat" && $HH -ge 23 ]]; then
            echo '    Shhhh People are trying to sleep ... Sat window'
    elif [[ "$DAY" = "Sun" && $HH -le 6 ]]; then
            echo '    People are trying to sleep ... Sun window'
    else
            echo '    PAGE SOMEONE - time is outside the Maintenance Window'
    fi
done
Đây là đầu ra
Testing 14:Sat 14 Sat
    PAGE SOMEONE - time is outside the Maintenance Window
Testing 23:Sat 23 Sat
    Shhhh People are trying to sleep ... Sat window
Testing 0:Sun 0 Sun
    People are trying to sleep ... Sun window
Testing 5:Sun 5 Sun
    People are trying to sleep ... Sun window
Testing 8:Sun 8 Sun
    PAGE SOMEONE - time is outside the Maintenance Window