gpt4 book ai didi

mysql - 基于mysql条目的shell脚本中的文件复制

转载 作者:行者123 更新时间:2023-11-29 16:02:16 25 4
gpt4 key购买 nike

我需要一个接一个地顺序运行几个复制命令,但是我可以使用 sleep 命令来顺序运行它。一旦执行复制命令,该命令将立即将两个条目标记到 mysql 表,其中 random_id 和状态为待处理,只有在状态更改为成功后,我才需要运行第二个命令。我怎样才能简单地在 shell 脚本中做到这一点

命令

aws s3 cp firstfile1.txt /path

一旦命令被触发,在Mysql中,我们可以看到这样的条目

entry_date , random_id , status,id 
2019-03-10 , FIlecopy_190223321,pending , 10
2019-03-10 , FIlecopy_part2_190223321,pending , 10

一旦状态更改为 success ,就会自动触发第二次文件复制。

aws s3 cp secondfile.txt /path

Mysql 条目

 2019-03-10 , secondfilecopy_11111,pending , 11
2019-03-10 , secondfilecopy_part_2_11111,pending , 11

这个列表还有 1000 个文件。我怎样才能在 shell 脚本中简单地实现这一点。

任何人都可以帮助我吗?下面的解决方案没有正确帮助我,

最佳答案

我想,你只是在寻找根据db中的mysql记录添加条件的方法。

因为您可以只获取记录并根据数据库中的状态添加条件。

这里提供了非常酷的解决方案。

https://unix.stackexchange.com/questions/111545/mysql-query-resultset-in-bash-script

这里是从 mysql 记录添加条件的示例。

#!/bin/bash
mysql --silent -h server-name -P 3306 -u username-ppassword -D dbname<<<"select URL from Experiment where URL_Exists = 1" > tmp_results

while read URL
do
echo $URL
var=$(curl -s --head $URL | head -n 1 | grep "HTTP/1.[01] [23]..")
echo "$var"
if [ -z "$var" ]
then
echo "Ok we do not have a valid link and the value needs to be updated as -1 here"
else
echo "we will update the value as 1 from here"
fi
done < tmp_results

关于mysql - 基于mysql条目的shell脚本中的文件复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56087998/

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