Command-Line Interface - LiteSpeed Cache For WordPress Management

This page covers the various cache management options available through our lsmctl cli script. Most of these options are also available through our WHM plugin for cPanel.

As of LiteSpeed Enterprise 5.1.14, a command-line interface script was added under /usr/local/lsws/admin/misc/lscmctl for executing basic cache management actions through the terminal or in a cron job. As of versions 1.4 of the script, the ability to recommend a plugin or broadcast a message to all discovered WordPress installations is also available. The help page for this script is included below.

Learn more about the CLI script on our blog.

Supported Control Panel Environments: cPanel/WHM and Plesk

Note: You must have a license with LSCache enabled to use these features. How To Get LSCache

LiteSpeed Cache Manager CLI Tool v1.9


Usage: ./lscmctl [-php path/to/php] command [flag/parameter]


Possible Commands: 

setcacheroot [-svr <cache root>] [-vh <cache root>]
    List/Set server and/or virtual host cache roots. This command will list the 
current server and virtual host cache roots when no additional input is given. 
Use -svr and -vh to set those cache roots. The '$' character is not allowed 
when setting virtual host cache root. Virtual host cache root values starting 
with a '/' will automatically have '/$vh_user' appended to the end (this format 
was chosen to maintain compatibility with CageFS).

setversion [{--list | --latest | <version>}]
    List/Set active LSCWP version. This command will list the currently active 
version when no additional input is given. Use --list to show available 
versions or --latest to switch to the latest available version. A valid version 
number can also be provided to switch to that version specifically. This must 
be set before performing other lscmctl operations.

scan [-n] [-e]
    Scan for all WordPress installations. This command will create an lscm.data 
file under the "lsws/admin/lscdata" directory. Add the -n flag to only discover 
new installations. By adding the -e flag, LSC-WP will be enabled on all 
installations after scanning is complete.

enable {-m | <wp path>}
    Enables LSWCP for all discovered WordPress installations with the -m 
parameter or a single installation by providing the path to the WordPress 
installation directory.

disable {-m | <wp path>}
    Disables LSWCP for all discovered WordPress installations with the -m 
parameter or a single installation by providing the path to the WordPress 
installation directory.

upgrade {-m | <wp path>}
    Upgrade LSWCP for all discovered WordPress installations to the current 
active version with the -m parameter or a single installation by providing the 
path to the WordPress installation directory.

flag <wp path>
    Flag a single WordPress installation. Flagged installations will be skipped 
during mass operations.

unflag {-m | <wp path>}
    Unflag all discovered WordPress installations with the -m parameter or a 
single installation by providing the path to the WordPress installation 
directory. Flagged installations will be skipped during mass operations.

status <wp path>
    Get the most up to date LSC-WP status for the provided WordPress 
installation.

dashnotify {-m | -wppath <wp path>} [-plugin <plugin slug>] {-msgfile <message file path> | -msg <message>}
    Notify all discovered WordPress installations with the provided message 
(plain text or HTML) using the Dash Notifier WordPress plugin with the -m 
parameter or a single installation by providing the path to the WordPress 
installation directory. A plugin slug can be included to have an 
install/activate button for that plugin added to the message as well. 
Installations containing a '.dash_notifier_bypass' file will not be notified.

dashnotifyremove {-m | <wp path>}
    Remove Dash Notifier plugin (and notification messages) from all discovered 
WordPress installations with the -m parameter or a single installation by 
providing the path to the WordPress installation directory.

cpanelplugin {--install | --uninstall | -autoinstall [{0 | 1}]}
    [cPanel/WHM Environment Only] Install or uninstall the LiteSpeed user-end 
plugin for cPanel for all cPanel accounts using the '--install' and 
'--uninstall' input flags. The plugin will appear as "LiteSpeed Web Cache 
Manager" under 'Advanced' in the user's cPanel dashboard. The '-autoinstall' 
input param can be used to check the current auto install status. When turned 
on, the cPanel plugin will be automatically installed when installing/updating 
the WHM plugin. Use '-autoinstall {0 | 1}' to manually turn this off and on 
respectively.

addinstalls {-wpinstall <wp path> <docroot> <server name> <site url>} | -wpinstallsfile <installs file path>}
    Add a WordPress installation to existing scan data. This "custom" data will 
be stored in it's own lscm.data.cust data file under the "lsws/admin/lscdata" 
directory. A single installation can be added using the -wpinstall parameter 
with space separated list of installation info in the required order (<wp path> 
<docroot> <server name> <site url>). Multiple installations can be added at 
once using the -wpinstallsfile parameter to provide the path to an installs 
file containing a newline separated list of installation info in the expected 
format.

--update-lib 
    Update the lscmctl script and the required shared library to their latest 
versions.


Example Usage:

  List server and virtual host cache roots:
  ./lscmctl setcacheroot

  Set virtual host cache root:
  ./lscmctl setcacheroot -vh /path/to/ssd/lscache

  Display currently active LSCWP version:
  ./lscmctl setversion

  Display selectable LSCWP versions:
  ./lscmctl setversion --list

  Set active LSCWP version to latest available:
  ./lscmctl setversion --latest

  Set active LSCWP version to v1.5:
  ./lscmctl setversion 1.5

  Discover all installations:
  ./lscmctl scan

  Discover new installations only, passing in path to PHP binary:
  ./lscmctl -php /path/to/php/ scan -n

  Enable LSC-WP on all discovered installations:
  ./lscmctl enable -m

  Disable LSC-WP for a single installation:
  ./lscmctl disable /home/user/public_html/wp

  Get LSC-WP status for a single installation:
  ./lscmctl status /home/user/public_html/wp

  Send a simple dashboard message to a single discovered WordPress installation:
  ./lscmctl dashnotify -wppath /path/to/wp/install -msg "Hello World!"

  Broadcast a dashboard message recommending the LiteSpeed Cache for WordPress plugin to all discovered WordPress installations:
  ./lscmctl dashnotify -m -plugin litespeed-cache -msgfile /path/to/msg/file

  Remove dashboard notifications (and Dash Notifier plugin) from all discovered WordPress installations:
  ./lscmctl dashnotifyremove -m

  [cPanel/WHM Environment Only] Install the LiteSpeed user-end plugin for cPanel for all cPanel accounts:
  ./lscmctl cpanelplugin --install

  [cPanel/WHM Environment Only] Turn off auto install for the LiteSpeed user-end plugin for cPanel:
  ./lscmctl cpanelplugin -autoinstall 0

  Add a single WordPress Installations to custom data file.:
  ./lscmctl addinstalls -wpinstall /home/user/public_html/wp /home/user/public_html user.com user.com/wp

  Add multiple WordPress Installations to custom data file using an installs file.:
  ./lscmctl addinstalls -wpinstallsfile /path/to/installs/file

Scan And Enable Using A CronJob

If you do not want to continue manually running the CLI script you can setup a cronjob to run the script at fixed intervals instead.

First, as root, open crontab cronjobs with command

 crontab -e 

After that, you can add a line, in the usual cronjob format, similar to the following:

 00 03 * * * /usr/local/lsws/admin/misc/lscmctl scan -e 

This command will run the CLI script daily at 3am, re-discovering all current and new WordPress installations and mass enabling LSCWP on any unflagged installations.