Backup VMGuest by “voftool”
## filename: exportvmguest.spy
vmHostIP = '1.2.3.4'
vmGuestId = 'WEB1'
ovafile = 'WEB1.ova'
cmd=f'/home/iap/ovftool --noSSLVerify vi://{vmHostIP}/{vmGuestId} {ovafile}'
username = 'root'
password = 'secret'
with $.shell():
## because "ovftool" would exit by itself, so set exit=False
with $.enter(cmd,exit=False) as ovftool:
ovftool.expect('Username')
ovftool.input(username)
ovftool.expect('Password')
try:
ovftool.input(password)
ovftool.expect(['complete','success'],timeout=1800)
except TimeoutError:
print(['Error timeout'])
ovftool.input(chr(3))
if $.exitcode == 0:
print(['OK',$.exitcode,$.stdout])
else:
print(['Error',$.exitcode,$.stdout,$.stderr])
print('finish')
Executing
$sshscript exportvmguest.spy
Backup VMGuest by “voftool” (python script)
## filename: exportvmguest.py
import sshscript
import os
os.environ['DEBUG'] = '1'
vmHostIP = '1.2.3.4'
vmGuestId = 'WEB1'
ovafile = 'WEB1.ova'
cmd=f'/home/iap/ovftool --noSSLVerify vi://{vmHostIP}/{vmGuestId} {ovafile}'
username = 'root'
password = 'secret'
session = sshscript.SSHScriptSession()
with session.shell() as console:
## because "ovftool" would exit by itself, so set exit=False
with console.enter(cmd,exit=False) as ovftool:
ovftool.expect('Username')
ovftool.input(username)
ovftool.expect('Password')
try:
ovftool.input(password)
ovftool.expect(['complete','success'],timeout=1800)
except TimeoutError:
print(['Error timeout'])
ovftool.input(chr(3))
if console.exitcode == 0:
print(['OK',ovftool.exitcode,ovftool.stdout])
else:
print(['Error',ovftool.exitcode,ovftool.stdout,ovftool.stderr])
Executing
$python3 exportvmguest.py

Last Updated: 2026-07-25 16:59:40
Table of contents
- SSHScript v3.1 Documentation
- Accounts (legacy URL)
- Checking the syncing status of two MySQL servers
- Getting Started with SSHScript
- Q: What can it do that Netmiko doesn’t do? (origin)
- SSHScript Documents
- SSHScript v2.0 CLI(Draft)
- SSHScript v2.0 Commands Execution and Console
- SSHScript v2.0 Console of sudo and su
- SSHScript v2.0 Getting Started
- SSHScript v2.0 Interactive Commands and Foreground Commands
- SSHScript v2.0 Make Connections
- SSHScript v2.0 Recipes
- SSHScript v2.0 Reference Guide
- SSHScript v2.0 Stdout, Stderr and Exitcode
- SSHScript v2.0 Threading Support
- SSHScript v2.0 Upload and Download Files
- SSHScript v2.0.2 Release Notes
- SSHScript v3.0 Interactive and Foreground Commands
- SSHScript v3.0 Reference Guide
- SSHScript v3.0.0 Release Notes
- SSHScript v3.1
- SSHScript vs. Ansible
- 用 Python 作系統自動化