首先我們來介紹快照的一些基礎命令
1、
# PowerCLI makes it easy to deal with snapshots. # Powercli使得更容易處理快照,通過該命令,可以查看到所有虛擬機的快照、描述以及狀態,但看不出哪個快照屬於哪個虛擬機,所以快照和描述可以寫得詳細些。 Get-VM | Get-Snapshot
2、
# One of the most important attributes is the age of the snapshot. #這個命令就是對無法顯示虛擬機和快照對應關係進行了調用, #可以看出快照屬於哪個虛擬機,在什麼時間創建的,非常方便用於Troubleshooting Get-VM | Get-Snapshot | Select Name, VM, Created
3、
# 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、
# 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、
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) } 提示命令錯誤
help get-snapshot
#通過命令提示,發現get-snapshot後面缺參數來顯示所有的VM虛擬機, #那麼剛剛的第一條命令就可以起到作用,顯示主機上虛擬機的全部快照, #然後設置addDays參數爲-1.這樣剛剛做的snap的快照就不會顯示在清單 get-vm | get-snapshot | Where { $_.Created -lt (Get-Date).addDays(-1) }
#衍生下,針對單個虛擬機查看此刻之前存在的快照 Get-Snapshot AD-25 | Where { $_.Created -lt (Get-Date).addDays(-0) }
#那麼,批量創建了10多個快照,怎麼批量刪除剛剛創建的測試快照? addDays(+1)是不行的,個人也沒有找到命令,不過換個思路, 我們可以通過快照名稱來進行刪除 get-vm | get-snapshot -name "Snap1" | remove-snapshot –confirm Y 刪除前
#刪除中,13個虛擬機,命令運行了13分鐘後,去vsphere client界面, #纔看到任務都完成,刪除的時候有些長
刪除後
6、
# Remove *ALL* snapshots. #移除所有快照,命令就不嘗試了,有些測試快照還有用,大家可以試下。。後果自負。。 Get-Snapshot | Remove-Snapshot
大家有興趣可以跟下一篇,ESXi