linux date命令
获取当前日期:
date +"%Y-%m-%d %H:%M:%S"
2021-12-01 14:42:12
获取当前时间戳(单位:秒)
date +"%s"
1638340875
获取当前时间戳(单位:毫秒)
echo $[`date +"%s"`*1000]
1638341465000
获取10分钟后的日期
date -d "+10 min" +"%Y-%m-%d %H:%M:%S"
2021-12-01 15:11:53
获取指定日期之后十分钟的日期
date -d "2021-10-21 +10min" +"%Y-%m-%d %H:%M:%S"
2021-10-21 00:10:00
example:设置运行10min,但是10min内如果有存活的进程数量小于某个值就停止执行,有可能运行10分钟,有可能运行不到10分钟,
excuteTime=10min startDate=`date "+%Y-%m-%d %H:%M:%S"` stop_time=`date -d "$startDate $excuteTime" +"%s"` while(( `date "+%s"`< $stop_time )) do live_process_num=`ps -ef|grep "fio --client"|grep -v "grep"|wc -l` if [ $live_process_num -lt 8 ] then echo "have fio over" break; fi done
endDate=`date "+%Y-%m-%d %H:%M:%S"` echo $endDate