gpt4 book ai didi

linux - 在开始之前,我如何检查特定服务器是否正在运行(使用 virsh 命令)|重启了吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:35 25 4
gpt4 key购买 nike

我正在尝试重新启动、启动、关闭特定虚拟机。在这里,首先我想在运行脚本之前检查虚拟机是否已经处于所需状态。

这些是虚拟机列表。

[root@demohost05 ~]# virsh list --all
Id Name State
----------------------------------------------------
5 OwnCloud01 running
6 OwnCloud02 running
7 SiteMon running
- vmtest shut off

我想在执行之前检查 vmtest 是否正在运行

virsh start vmtest

如何在 shell 脚本中使用 if 条件检查状态?

当我必须使用 sudo 命令时,如何避免输入密码。

sudo virsh start vmtest

我还尝试使用

授予 root 权限
sudo -i
virsh start vmtest

但是脚本没有执行第二行就结束了。如何在同一个脚本文件中使用这两个命令?

if [conditions]
then
{

}
fi

我不知道如何检查此类脚本的条件。

谢谢。

最佳答案

试试这个:


tmp=$(virsh list --all | grep " vmtest " | awk '{ print $3}')
if ([ "x$tmp" == "x" ] || [ "x$tmp" != "xrunning" ])
then
echo "VM does not exist or is shut down!"
# Try additional commands here...
else
echo "VM is running!"
fi

# For passwordless sudo:
sudo cat /etc/sudoers

# You'll see this:

# User privilege specification
root ALL=(ALL:ALL) ALL

# To add user sharad as a sudo user:

# User privilege specification
root ALL=(ALL:ALL) ALL
sharad ALL=(ALL:ALL) ALL

# To add user sharad as a sudo user such that it doesn't ask for password (note the NOPASSWD):

# User privilege specification
root ALL=(ALL:ALL) ALL
sharad ALL=(ALL:ALL) NOPASSWD: ALL

# Read this for reference: http://www.ducea.com/2006/06/18/linux-tips-password-usage-in-sudo-passwd-nopasswd/

关于linux - 在开始之前,我如何检查特定服务器是否正在运行(使用 virsh 命令)|重启了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37453525/

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