greenarrow Command
- Table of Contents
- Introduction
- General Info
- Disk Usage
- Disk Queue Messages
- Disk Queue Summary
- GreenArrow Update
- Paused Domains
Introduction
The command greenarrow
is a central command for accessing various command-line
functionalities of GreenArrow. Our goal is for it to be the single way to interact
with GreenArrow on the command-line, but we’re not quite there yet.
This page describes some of the functions that the greenarrow
command provides.
General Info
The command greenarrow info
will print some key information about your installation
of GreenArrow.
$ greenarrow info
GreenArrow Version: v4.282.0 (2023-04-27)
Persistence Mode: Traditional
License Key: (not shown)
License Key: Status: current
License Key: Expiration: None; Perpetual License
License Key: Updates Expiration: 2024-06-01; only licensed to run versions of GreenArrow released on or before this date
This command provides a --json
option to get this information as a JSON document.
$ greenarrow info --json
{
"version": "v4.282.0",
"version_date": "2023-04-27",
"persistence_mode": "Traditional",
"persistence_path": "",
"license_key": "(not shown)",
"license_key_expiration_date": "",
"license_key_updates_expiration_date": "2024-06-01",
"license_key_status": "current"
}
On a real system, the license key will be shown in the above commands. We’ve simply hidden it here.
Disk Usage
See this page for documentation on the greenarrow disk_usage
command.
Disk Queue Messages
See this page for documentation on the greenarrow report print_disk_queue
command.
Disk Queue Summary
The command greenarrow report disk_queue_summary
prints to the terminal the same information
as provided by the Disk Queue Summary API.
$ greenarrow report disk_queue_summary --help
greenarrow: Usage:
greenarrow report disk_queue_summary [OPTIONS]
Print a summary of the contents of the disk queue.
Application Options:
--json print a JSON document containing this report
--group-by= group by: virtualmta_injected, virtualmta_most_recent (default: virtualmta_injected)
--group-variant= group variant: none, recipient_domain, all_throttles, all_throttles_other, only_explicit_throttles, not_explicit_throttles (default: none)
--sort-by= sort by: num_messages_desc, num_messages_asc, avg_age_desc, avg_age_asc, max_age_desc, max_age_asc (default: num_messages_desc)
--limit= limit the number of entries returned (default: 100)
Help Options:
-h, --help Show this help message
See the Disk Queue Summary API for more detailed information on the available options and output format.
GreenArrow Update
The command greenarrow update
executes the automatic updates to the current system after the
GreenArrow packages have been upgraded.
This command does not upgrade those packages – it is instead responsible for running database migrations and other automatic update procedures after the packages have been upgraded.
In versions of GreenArrow prior to v4.304.0, hvmail_migrate migrate
was the command to execute
these procedures. While that command is still supported, greenarrow update
is the preferred command.
Paused Domains
See Pausing Domains for more information.
List Paused Domains
The command greenarrow report paused_domains
will list the domains that are currently paused.
The report includes the following columns:
Began At |
The time the pause went into effect (in engine_time_zone). |
Ends At |
The time the pause will end (in engine_time_zone). |
Source Domain |
The RFC5321.MailFrom or RFC5322.From domain that this pause affects. |
Recipient Domain |
The recipient domain that this pause affects. |
Pause Type |
The type of pause – either |
Throttle ID |
The internal ID for the throttle on which the pause was triggered. |
Throttle Domains |
The (first 3) domains in the throttle on which the pause was triggered. |
This command accepts a --json
argument to get its output in JSON format instead of an ASCII table.
Remove Paused Domain
The command greenarrow remove paused_domain
will remove the given domain
from the list of domains that are currently paused.
This command accepts the following arguments to filter what pauses are removed:
--pause-type
string |
Only remove pauses of this type. May be: |
--all
bool |
Remove all pause records (optionally filtered by May not be combined with any of the options below. |
--throttle-id
integer |
Only remove pauses that were triggered on the specified throttle id. |
--throttle-key
string |
Only remove pauses that were triggered on the specified throttle key. |
--recipient-domain
string |
Only remove pauses to this recipient domain. |
--message-domain
string |
Only remove pauses from this message domain (either an RFC5321.MailFrom or RFC5322.From domain). |
--throttle-domain
string |
Only remove pauses that were detected on a throttle that includes the specified domain. |