spacecmd(1)

NAME
spacecmd - a command-line interface to Spacewalk and Satellite servers

SYNOPSIS
spacecmd [options] [command]

OVERVIEW
spacecmd is a command-line interface to Spacewalk and Satellite servers.
It is written in Python and uses the XML-RPC API provided by the server.
Nearly all aspects of the Satellite can be managed by spacecmd.  These
include managing systems, software channels, configuration channels,
activation keys, Kickstarts and users.
spacecmd can be run as an interactive shell by running it without a
command.  It can also run a single command by passing the command
and the required arguments on the command line.
Run 'spacecmd help' to list the actions that are availble.
Run 'spacecmd -- <command> --help' to get help for a particular command.

RUNNING SINGLE COMMANDS
When running spacecmd non-interactively, you must take care to escape
arguments passed to the spacecmd functions.  This involves putting a '--'
before the command starts so that the arguments to the function are not
treated as global arguments to spacecmd.  You must also escape any quotes
that you pass to the functions so that the shell does not interpret them.

Example:
spacecmd -s server1 -- softwarechannel_create -n \'My Channel\' \
                                              -l channel1 \
                                              -a x86_64

OPTIONS

-c CONFIG_FILE, --config=CONFIG_FILE
    config file to use [default: ~/.spacecmd/config]

-u USERNAME, --username=USERNAME
    use this username to connect to the server

-p PASSWORD, --password=PASSWORD
    use this password to connect to the server (insecure).
    This option is insecure because process listing tools like ps will
    show it as part of command line visible for all user.
    If no password is provided, spacecmd will try to read it from the
    config file or ask for it.

-s SERVER, --server=SERVER
    connect to this server [default: localhost]

--nossl
    use HTTP instead of HTTPS

--nohistory
    do not store command history

-y, --yes
    answer yes for all questions

-q, --quiet
    print only error messages

-d, --debug
    print debug messages

-h, --help
    show this help message and exit

CONFIGURATION FILES
Configuration files are loaded from /etc/spacecmd.conf and
~/.spacecmd/config, unless overridden by the --config option.  The
default section is [spacecmd].  It can then be overridden with server
specific sections.  Command-line arguments always override options in
the configuration files.

[spacecmd]
server=localhost
username=admin
password=redhat
nossl=0
[satellite.example.com]
username=joe
password=secret
nossl=1

EXAMPLES

Make temporary groups on-the-fly
spacecmd> ssm_add search:driver:bnx2
Systems Selected: 111
spacecmd> ssm_add search:device:vmware
Systems Selected: 285
spacecmd> ssm_add search:hostname:external.example.com
Systems Selected: 16

Add and remove packages from the commandline
[user@sat]$ spacecmd -y system_installpackage www* mod_python
Scheduled 6 system(s)
[user@sat]$ spacecmd -y system_removepackage wiki02 mod_perl
Scheduled 1 system(s)

Schedule reboots from the commandline
[user@sat]$ spacecmd -y -- system_reboot ldap* -s +6h
Start Time: 20160106T07:01:00
Systems
-------
ldap01
ldap02
ldap03
[user@sat]$ spacecmd -y system_reboot www01
Start Time: 20160106T02:01:00
Systems
-------
www01

Apply errata from the command line
[user@sat]$ spacecmd -y errata_apply RHSA-2010:0423
Scheduled 42 system(s)
[user@sat]$ spacecmd -y system_applyerrata group:web_servers RHSA-2010:0040
Scheduled 16 system(s)

Quickly generate reports
spacecmd> system_listerrata ldap03
System: ldap03
Security Errata:
RHSA-2010:0458  Moderate: perl security update                        6/7/10
RHSA-2010:0449  Moderate: rhn-client-tools security update            6/1/10
RHSA-2010:0423  Important: krb5 security update                      5/18/10
spacecmd> report_errata
# Systems       Errata
---------       ------
CLA-2010:0474       88
CLA-2010:0475        6
CLA-2010:0488      183
CLA-2010:0490      273
CLA-2010:0500        4
CLA-2010:0501        5
RHBA-2010:0402       1
RHSA-2010:0474       2
RHSA-2010:0488       1
RHSA-2010:0490       5
spacecmd> report_outofdatesystems
System        Packages
------        --------
monkey             310
shark               63
hedgehog            39
pomeranian           4
spacecmd> report_ipaddresses
System   Hostname                IP
------   --------                --
dns01    dns01.dmz.example.com   192.168.254.53
www01    www01.dmz.example.com   192.168.254.80
ztest    ztest.test.example.com  192.168.42.111
spacecmd> report_kernels
System       Kernel
------       ------
system01     2.6.9-89.0.25.ELsmp
system02     2.6.9-89.0.3.ELsmp
system03     2.6.9-89.0.26.ELsmp

Tab completion of everything
spacecmd> system_installpackage ssm vmware-tools [tab]
vmware-tools         vmware-tools-kmod
vmware-tools-common  vmware-tools-nox

Easily view system information
spacecmd> system_details www01.example.com
Name:          www01.example.com
System ID:     1000010001
Locked:        False
Registered:    20100311 19:31:36
Last Checkin:  20100621 18:31:53
OSA Status:    online
Hostname:      www01.example.com
IP Address:    192.168.1.80
Kernel:        2.6.18-164.el5
Software Channels:
  custom-rhel-i386-server-5
    |-- custom-extras-i386-rhel5
    |-- clone-rhn-tools-rhel-i386-server-5
Configuration Channels:
  sudoers
  base
  base-rhel5
Entitlements:
  Management
  Provisioning
System Groups:
  all_linux_systems
  all_linux_VMs
  rhel5-i386

BUGS
Please report any bugs to https://bugzilla.redhat.com/ under the "spacecmd"
component.

HOMEPAGE
https://github.com/spacewalkproject/spacewalk/wiki/spacecmd

AUTHOR
spacecmd was written by Aron Parsons <aronparsons@gmail.com>