Linux Bash ...如果时间> 20:00然后回声'你好'fi

时间:2015-05-31 18:38:22

标签: linux bash

我对Linux Bash非常陌生,我不确定我能做什么。

我有一个程序可以全天候运行,将我的一台服务器上传到云端。唯一的问题是,它正在扼杀我的带宽。

所以我的想法是让它从00:05到05:55运行,没有人会在这个时候忙碌。

类似于:

If $(date +"%T") < 05:55 then

backup.sh

else 

killbackup.sh

fi

2 个答案:

答案 0 :(得分:2)

试试这个:

#!/bin/bash

h=$(date +"%k")    # current hour (24h) without leading zero
m=$(date +"%M")    # current minute
t=$[h*60+m]        # calculate minutes since midnight

# -gt: greater-than, -lt: less-than
if [[ $t -gt 5 ]] && [[ $t -lt 355 ]]; then
  # run from 0:06 to 5:54
  backup.sh
else
  # run from 5:55 to 0:05
  killbackup.sh
fi

答案 1 :(得分:1)

你可以这样做:

#!/bin/bash
time=$(date +%T)
time=${time//:/}
if (( time < 055500 && time > 000500 ));then #between 00:05 to 05:55
    backup.sh
else
    killbackup.sh
fi