我创建了一个包含以下内容的批处理脚本。但是脚本在执行第一个语句后终止。我已经google了很多但找不到任何有用的东西。但是个别陈述可以单独执行。 PFB剧本
任何建议都表示赞赏。
set AWS_SNAPSHOT_KEEP=1
:: Create a file with all attached volumes
::ec2-describe-volumes|find /i "attached">%EC2_HOME%\Volumes.txt
:: Create snapshot for this volume
for /f "tokens=2" %%s in (%EC2_HOME%\Volumes.txt) do ec2-create-snapshot %%s
:: Find old snapshots for this volume.
for /f "tokens=2" %%s in (%EC2_HOME%\Volumes.txt) do ec2-describe-snapshots --filter "volume-id=%%s">%EC2_HOME%\Snapshots.txt
::Copy Snapshot across multiple regions.
for /f "tokens=2" %%s in (%EC2_HOME%\Snapshots.txt) do ec2-copy-snapshot -r us-west-2 -s %%s -region us-east-1
:: Loop over old snapshots, skip the first 1, delete the rest
for /f "tokens=2 skip=%AWS_SNAPSHOT_KEEP%" %%s in (%EC2_HOME%\snapshots.txt) do ec2-delete-snapshot %%s
谢谢和问候, Jyoti
答案 0 :(得分:6)
ec2-create-snapshot
和朋友本身就是批量脚本,如果他们是我在网上找到的Amazon EC2 API Tools。当他们完成时,他们恰好打电话给exit
。这也是退出批处理脚本的。
相反,请尝试在ec2命令之前使用call
。
for /f "tokens=2" %%s in (%EC2_HOME%\Volumes.txt) do
call
ec2-create-snapshot %%s
根据需要应用于其他ec2命令。
有关详细信息,请参阅help exit
和help call
的输出。
批量睡觉的常用习惯是ping本地机器:
@ping -n 2 -w 1000 127.0.0.1 > NUL
通过ping本地机器两次,每次间隔1秒,“睡眠”约2 * 1000毫秒= 2秒。根据需要添加。