67 lines
1.6 KiB
Bash
Executable File
67 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 获取今天的日期信息
|
||
current_year=$(date +%Y)
|
||
current_month=$(date +%m)
|
||
current_day=$(date +%d)
|
||
# 定义指定的日子(1-7 表示周一到周日)
|
||
today=1 # 例如:3 表示周三
|
||
|
||
current_weekday=$(date +%u) # 1-7 (周一到周日)
|
||
|
||
# 首先确认今天是否为指定的日子
|
||
if [[ $current_weekday -ne $today ]]; then
|
||
echo "今天不是周${today},退出脚本。"
|
||
exit 0
|
||
fi
|
||
|
||
# 获取当前月份的天数
|
||
last_day_of_month=$(date -d "$current_year-$current_month-01 +1 month -1 day" +%d)
|
||
|
||
# 计算本月的第几个指定的日子
|
||
today_count=0
|
||
for ((day = 1; day <= last_day_of_month; day++)); do
|
||
# 使用明确的日期格式 YYYY-MM-DD
|
||
weekday=$(date -d "${current_year}-${current_month}-${day}" +%u)
|
||
if [[ $weekday -eq $today ]]; then
|
||
# 如果是指定的日子,且日期小于等于今天,则计入统计
|
||
if [[ $day -le $current_day ]]; then
|
||
((today_count++))
|
||
fi
|
||
fi
|
||
done
|
||
|
||
# 打印调试信息
|
||
echo "本月的第几个指定的日子: $today_count"
|
||
|
||
# 根据第几个指定的日子设置参数
|
||
case $today_count in
|
||
1)
|
||
param1="miracle"
|
||
param2="elasticsearch-0"
|
||
;;
|
||
2)
|
||
param1="lydia"
|
||
param2="elasticsearch-1"
|
||
;;
|
||
3)
|
||
param1="emma"
|
||
param2="elasticsearch-2"
|
||
;;
|
||
4)
|
||
param1="niyon"
|
||
param2="elasticsearch-3"
|
||
;;
|
||
*)
|
||
echo "今天不是本月的第 1 至第 4 个指定日子,退出脚本。"
|
||
exit 0
|
||
;;
|
||
esac
|
||
|
||
# 固定的第三个参数
|
||
param3="/mnt/adata/instanceBackUps"
|
||
|
||
# 打印参数并运行 vmBackUp.sh
|
||
echo "运行 vmBackUp.sh 参数: $param1 $param2 $param3"
|
||
./vmBackUp.sh "$param1" "$param2" "$param3"
|