我對Linux Bash非常新穎,我不確定是否可以實現我想要做的事情。Linux Bash ...如果時間> 20:00然後echo'hello'fi
我有一個運行24/7的程序,將我的一臺服務器上傳到雲端。唯一的問題是,它正在殺死我的帶寬。
所以我的想法是讓它從00:05運行到05:55,在這個夜晚的這個時候沒有人會忙碌。
因此,像:
If $(date +"%T") < 05:55 then
backup.sh
else
killbackup.sh
fi
我對Linux Bash非常新穎,我不確定是否可以實現我想要做的事情。Linux Bash ...如果時間> 20:00然後echo'hello'fi
我有一個運行24/7的程序,將我的一臺服務器上傳到雲端。唯一的問題是,它正在殺死我的帶寬。
所以我的想法是讓它從00:05運行到05:55,在這個夜晚的這個時候沒有人會忙碌。
因此,像:
If $(date +"%T") < 05:55 then
backup.sh
else
killbackup.sh
fi
試試這個:
#!/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
嗨,真是太棒了。非常切割的方式做到這一點。統計自00:00以來的分鐘數。已經測試它100%,但看起來像它的工作。非常感謝 –
你可以這樣做:
#!/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
嗨,真是太棒了。像這樣你的計時器可以成爲第二基礎。 –
@Chewy「就像這樣,你的計時器可以以秒爲基礎」,如果這是一個問題,你能更具體嗎?我不明白你的意思....爲了澄清,在'時間<055500'中,05部分是小時,55是分鐘,00是第二個,你可以用秒來指定條件。 。 – Jahid
嗨Jahid。對不起,我沒有問題,我喜歡你如何在你的代碼中使用秒。 E.G如果你想要的時間是05:55:30與05:55:00(因爲什麼原因你需要額外的30秒),你可以使它055530. –
你爲什麼不只是使用一個cron腳本? –
我想我可以使用cron從06:00到00:00每5分鐘運行一次killbackup.sh腳本,從00:05到05:55每5分鐘運行一次backup.sh。如果我沒有找到答案,我會看看做的比。我很抱歉過去幾天的回覆非常忙碌。 –