我正在尝试捕获日志文件中的一些详细信息,并且希望仅在 23:00 到 01:00 之间捕获有关我的虚拟机的这些详细信息。我将在后台使用 nohup 来运行它,例如 - nohup script.sh & 并且该脚本应该只在 23:00 到 01:00 开始运行。我已经尝试过以下方法,但它似乎没有做我所例外的事情:-
#!/bin/bash
prodStartTime="230000"
prodEndTime="010000"
logfile=/tmp/processrunning.txt
touch $logfile
while true
do
currentTime=`date +"%H%M%S"`
if [[ $currentTime -ge $prodStartTime && $currentTime -le $prodEndTime ]];
then
ps aux | sort -nrk 3,3 | head -n 5 > $logfile
else
:
fi
sleep 30
done
[[ $currentTime -ge $prodStartTime && $currentTime -le $prodEndTime ]];
是:
HHMMSS >= 230000 and HHMMSS <= 010000
一个数字如何同时大于 230000 和小于 10000 ?
此外,以0
开头的数字是八进制数。 010000 等于 4096。您想要
或。 HHMMSS >= 230000 __or__ HHMMSS <= 10000
。