rabbitmqctl.1(rabbitmqctl.1)

NAME
rabbitmqctl - command line tool for managing a RabbitMQ broker

SYNOPSIS
rabbitmqctl [-n node] <command> [command options]

DESCRIPTION
RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging. The RabbitMQ server is a robust and scalable implementation of an AMQP broker.

rabbitmqctl is a command line tool for managing a RabbitMQ broker. It performs all actions by connecting to one of the broker's nodes.

OPTIONS
-n node
    default node is "rabbit@server", where server is the local host.
    On a host named "server.example.com", the node name of the
    RabbitMQ Erlang node will usually be rabbit@server (unless
    RABBITMQ_NODENAME has been set to some non-default value at broker
    startup time). The output of hostname -s is usually the correct
    suffix to use after the "@" sign. See rabbitmq-server(1) for
    details of configuring the RabbitMQ broker.

-q
    quiet output mode is selected with the -q flag. Informational
    messages are suppressed when quiet mode is in effect.

COMMANDS

  APPLICATION AND CLUSTER MANAGEMENT
stop
    stop the Erlang node on which RabbitMQ broker is running.

stop_app
    stop the RabbitMQ application, leaving the Erlang node running.
    This command is typically run prior to performing other management
    actions that require the RabbitMQ application to be stopped,
    e.g. reset.

start_app
    start the RabbitMQ application.
    This command is typically run prior to performing other management
    actions that require the RabbitMQ application to be stopped,
    e.g. reset.

status
    display various information about the RabbitMQ broker, such as
    whether the RabbitMQ application on the current node, its version
    number, what nodes are part of the broker, which of these are
    running.

force
    return a RabbitMQ node to its virgin state.
    Removes the node from any cluster it belongs to, removes all data
    from the management database, such as configured users, vhosts and
    deletes all persistent messages.

force_reset
    the same as force command, but resets the node unconditionally,
    regardless of the current management database state and cluster
    configuration.
    It should only be used as a last resort if the database or cluster
    configuration has been corrupted.

rotate_logs [suffix]
    instruct the RabbitMQ node to rotate the log files. The RabbitMQ
    broker will attempt to append the current contents of the log file
    to the file with the name composed of the original name and the
    suffix. It will create a new file if such a file does not already
    exist. When no suffix is specified, the empty log file is
    simply created at the original location; no rotation takes place.
    When an error occurs while appending the contents of the old log
    file, the operation behaves in the same way as if no suffix was
    specified.
    This command might be helpful when you are e.g. writing your own
    logrotate script and you do not want to restart the RabbitMQ node.

cluster clusternode ...
    instruct the node to become member of a cluster with the specified
    nodes determined by clusternode option(s).
    See http://www.rabbitmq.com/clustering.html for more information
    about clustering.

  USER MANAGEMENT
add_user username password
    create a user named username with (initial) password password.

delete_user username
    delete the user named username.

change_password username newpassword
    change the password for the user named username to newpassword.

list_users
    list all users.

  ACCESS CONTROL
add_vhost vhostpath
    create a new virtual host called vhostpath.

delete_vhost vhostpath
    delete a virtual host vhostpath.
    That command deletes also all its exchanges, queues and user
    mappings.

list_vhosts
    list all virtual hosts.

set_permissions [-p vhostpath] username regexp regexp regexp
    set the permissions for the user named username in the virtual
    host vhostpath, granting 'configure', 'write' and 'read' access
    to resources with names matching the first, second and third
    regexp, respectively.

clear_permissions [-p vhostpath] username
    remove the permissions for the user named username in the
    virtual host vhostpath.

list_permissions [-p vhostpath]
    list all the users and their permissions in the virtual host
    vhostpath.

list_user_permissions username
    list the permissions of the user named username across all
    virtual hosts.

  SERVER STATUS
list_queues [-p vhostpath] [queueinfoitem ...]
    list queue information by virtual host. If no queueinfoitems
    are specified then then name and number of messages is displayed
    for each queue.

Queue information items

    name
        URL-encoded name of the queue

    durable
        whether the queue survives server restarts

    auto_delete
        whether the queue will be deleted when no longer used

    arguments
        queue arguments

    node
        node on which the process associated with the queue resides

    messages_ready
        number of messages ready to be delivered to clients

    messages_unacknowledged
        number of messages delivered to clients but not yet
        acknowledged

    messages_uncommitted
        number of messages published in as yet uncommitted transactions

    messages
        sum of ready, unacknowledged and uncommitted messages

    acks_uncommitted
        number of acknowledgements received in as yet uncommitted
        transactions

    consumers
        number of consumers

    transactions
        number of transactions

    memory
        bytes of memory consumed by the Erlang process for the queue,
        including stack, heap and internal structures

list_exchanges [-p vhostpath] [exchangeinfoitem ...]
    list exchange information by virtual host. If no
    exchangeinfoitems are specified then name and type is displayed
    for each exchange.

Exchange information items

    name
        URL-encoded name of the exchange

    type
        exchange type (direct, topic, fanout, or headers)

    durable
        whether the exchange survives server restarts

    auto_delete
        whether the exchange is deleted when no longer used

    arguments
        exchange arguments

list_bindings [-p vhostpath]
    list bindings by virtual host. Each line contains exchange name,
    routing key and queue name (all URL encoded) and arguments.

list_connections [connectioninfoitem ...]
    list connection information. If no connectioninfoitems are
    specified then the user, peer address and peer port are displayed.

Connection information items

    node
        node on which the process associated with the connection resides

    address
        server IP number

    port
        server port

    peer_address
        peer address

    peer_port
        peer port

    state
        connection state (pre-init, starting, tuning, opening,
        running, closing, closed)

    channels
        number of channels using the connection

    user
        username associated with the connection

    vhost
        URL-encoded virtual host

    timeout
        connection timeout

    frame_max
        maximum frame size (bytes)

    recv_oct
        octets received

    recv_cnt
        packets received

    send_oct
        octets sent

    send_cnt
        packets sent

    send_pend
        send queue size

The list_queues, list_exchanges and list_bindings commands accept an optional virtual host parameter for which to display results, defaulting to "/". The default can be overridden with the -p flag. Result columns for these commands and list_connections are tab-separated.

EXAMPLES
Create a user named foo with (initial) password bar at the Erlang node rabbit@test:

    rabbitmqctl -n rabbit@test add_user foo bar

Grant user named foo access to the virtual host called test at the default Erlang node:

    rabbitmqctl map_user_vhost foo test

Append the current logs' content to the files with ".1" suffix and reopen them:

    rabbitmqctl rotate_logs .1

SEE ALSO
rabbitmq.conf(5), rabbitmq-multi(1), rabbitmq-server(1)

AUTHOR
The RabbitMQ Team <info@rabbitmq.com>

REFERENCES
RabbitMQ Web Site: http://www.rabbitmq.com