【问题标题】:how to insert wait between block of codes如何在代码块之间插入等待
【发布时间】:2014-01-31 22:09:44
【问题描述】:

我想实现这样的事情:我正在创建卷快照(使用 amazon ec2 工具)并将最新快照的详细信息存储在一个文件中。

#Create snapshots of all attached volumes

echo "Create snapshots of all attached volumes"
read -rsp $'Press enter to continue...\n'
awk '{print $2, $3}' "$EC2_HOME/ActiveVolumes_$today_date" | while read vol_id inst_id; do
    awk '{print $3, $5}' "$EC2_HOME/Instances_$today_date" | while read inst_id2 name; do
        if test "$inst_id" = "$inst_id2"; then
            echo ec2-create-snapshot "$vol_id" -d "$today_date: Daily Backup for $inst_id (VolID:$vol_id InstID:$inst_id)"
             ec2-create-snapshot "$vol_id" -d "$today_date: Daily Backup for $inst_id (VolID:$vol_id InstID:$inst_id)"
        fi
    done
done


#Create a file with all latest snapshots

echo "Create a file with all latest snapshots"
read -rsp $'Press enter to continue...\n'
latestdate=$(ec2-describe-snapshots | grep ^SNAPSHOT | sort -rk 5 | awk '{print substr($5, 1, 10); exit}')
ec2-describe-snapshots | grep "^SNAPSHOT.*$latestdate" > "$EC2_HOME/SnapshotsLatest_$today_date"

我想做一件事。我想根据一个条件在两个代码块之间等待。我想在执行第一块代码后等待。我想检查状态是否完成然后执行下一个代码块。

SNAPSHOT    snap-7749   vol-86d0    pending 2013-12-11T04:17:57+0000    100%    109030037527    35  EBS_Automated_Snapshot_12-10-2013-20:20:13
SNAPSHOT    snap-e2f3dc vol-80  completed   2013-12-11T04:16:49+0000    100%    109030037527    35  EBS_Automated_Snapshot_12-10-2013-20:19:05

【问题讨论】:

  • 你为什么又发same question?为什么不编辑前一个以包含更多信息?
  • @devnull: 我已经删除了之前的那个
  • 您显示的待处理/已完成信息来自哪里?它在更新的文件中吗?它是您运行命令的结果吗?
  • 当执行 ec2-describe 快照时,结果被写入文件
  • ec2-create-snapshot 是立即返回然后继续在后台工作,还是一直阻塞直到完成?

标签: linux bash amazon-ec2


【解决方案1】:

检查状态是否完成,然后执行下一个代码块。

您也可以使用“; && ||”之一这 ;只是将一个命令与另一个命令分开。 && 表示只有在前一个成功时才运行以下命令” || - 如果不成功。Examples

如果不够还有睡眠等待命令:

  • Wait:wait、waitpid、waitid - 等待进程改变状态
  • 睡眠:延迟指定时间

在第一个代码块执行后等待。只需使用睡眠号码。

echo "hello"
# wait 5 seconds
sleep 5 
echo  "Bye" 

更多信息:男人睡觉。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 2020-05-09
    • 2020-12-12
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多