实用 —— PowerCLI (二)
首先我们来介绍快照的一些基础命令
1、
1
2
3
|
# PowerCLI makes it easy to deal with snapshots.
# Powercli使得更容易处理快照,通过该命令,可以查看到所有虚拟机的快照、描述以及状态,但看不出哪个快照属于哪个虚拟机,所以快照和描述可以写得详细些。 Get-VM | Get-Snapshot |
2、
1
2
3
4
|
# One of the most important attributes is the age of the snapshot.
#这个命令就是对无法显示虚拟机和快照对应关系进行了调用, #可以看出快照属于哪个虚拟机,在什么时间创建的,非常方便用于Troubleshooting Get-VM | Get-Snapshot | Select Name, VM, Created |
3、
1
2
3
4
|
# You can create snapshots in a very targeted way, because we rely on Get-VM
#查看群集或者主机上的虚拟机,方便接下来的快照创建 Get-Cluster "Cluster 01" | Get-VM
Get-VMHost 10.132 . 97 .x | Get-VM
|
4、
1
2
3
|
# Snapshot every VM on host 10.132 . 97 .X
#为ESXi主机 10.132 .X.X上每一台虚拟机创建一个快照,批量创建快照功能
Get-VMHost 10.132 . 97.19 | Get-VM | New-Snapshot -Name "Snap1"
|
5、
1
2
3
4
5
|
You can search for snapshots based on their age.
# Identify any snapshot older than a day. #筛选出某个日期之前的快照 Get-Snapshot | Where { $_.Created -lt (Get- Date ).addDays(- 1 ) }
提示命令错误 |
1
|
help get -snapshot
|
1
2
3
4
|
#通过命令提示,发现 get -snapshot后面缺参数来显示所有的VM虚拟机,
#那么刚刚的第一条命令就可以起到作用,显示主机上虚拟机的全部快照, #然后设置addDays参数为- 1 .这样刚刚做的snap的快照就不会显示在清单
get -vm | get -snapshot | Where { $_.Created -lt (Get- Date ).addDays(- 1 ) }
|
1
2
|
#衍生下,针对单个虚拟机查看此刻之前存在的快照 Get-Snapshot AD- 25 | Where { $_.Created -lt (Get- Date ).addDays(- 0 ) }
|
1
2
3
4
5
|
#那么,批量创建了 10 多个快照,怎么批量删除刚刚创建的测试快照?
addDays(+ 1 )是不行的,个人也没有找到命令,不过换个思路,
我们可以通过快照名称来进行删除 get -vm | get -snapshot -name "Snap1" | remove-snapshot –confirm Y
删除前 |
1
2
|
#删除中, 13 个虚拟机,命令运行了 13 分钟后,去vsphere client界面,
#才看到任务都完成,删除的时候有些长 |
1
|
删除后 |
6、
1
2
3
|
# Remove *ALL* snapshots. #移除所有快照,命令就不尝试了,有些测试快照还有用,大家可以试下。。后果自负。。 Get-Snapshot | Remove-Snapshot |
大家有兴趣可以跟下一篇,ESXi
本文转自 tim2009 51CTO博客,原文链接:http://blog.51cto.com/virtualbox/1364494,如需转载请自行联系原作者