gpt4 book ai didi

mysql - 处理来自 mysql db 的 bash 输出

转载 作者:行者123 更新时间:2023-11-30 23:01:49 25 4
gpt4 key购买 nike

我需要创建脚本来比较 VM 的启动时间和当前时间,如果差异大于 50 分钟,它将检查是否有一些作业获得了这个 VM,如果没有,我将关闭它,如果是,它仍然有效。

DB_USER='user'
DB_PASS='user'
DB='VM'
echo 'logging into db '$DB' as '$DB_USER''

####Check is there any free node in "VM_NUM table"####

get_time=$(/usr/bin/mysql -u $DB_USER -p$DB_PASS $DB -e "SELECT VM_NAME,TIME from VM_LIST;")
echo $get_time

以下输出:

VM_NAME TIME 3A1A 12:59:41 3A1D 12:54:36 NODE_3 00:00:00

那么如何处理这个输出以便进行比较呢?

在 --skip-column-names 之后)。现在我有

for current_time in $(date +"%s")
do
echo $current_time
get_time=$(/usr/bin/mysql --skip-column-names -u $DB_USER -p$DB_PASS $DB -e "SELECT VM_NAME,TIME from VM_LIST;")
echo $get_time

done

输出:

如何比较时间?

最佳答案

您应该做的第一件事是使用以下方法从 MyQSL 获取 unix 时间戳:

SELECT VM_NAME, UNIX_TIMESTAMP(TIME) from VM_LIST;

然后使用以下方法从 unix 中获取相同的内容:

date '+%s'

现在您可以获得 2 个值之间的差异,并查看它是否超过 50 分钟。

PS:您还应该使用 --skip-column-names 来跳过输出中的列标题,即

mysql --skip-column-names -u $DB_USER -p$DB_PASS $DB -e "SELECT VM_NAME,TIME from VM_LIST

关于mysql - 处理来自 mysql db 的 bash 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23652575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com