====== 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 [[litespeed_wiki:cpanel:whm-plugin-lscwp-management|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.
[[https://blog.litespeedtech.com/2017/06/28/wpw-autodiscovery-lscache-and-the-command-line/|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. **[[litespeed_wiki:licenses:add-lscache|How To Get LSCache]]**
LiteSpeed Cache Manager CLI Tool v1.9
Usage: ./lscmctl [-php path/to/php] command [flag/parameter]
Possible Commands:
setcacheroot [-svr ] [-vh ]
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 | }]
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 | }
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 | }
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 | }
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
Flag a single WordPress installation. Flagged installations will be skipped
during mass operations.
unflag {-m | }
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
Get the most up to date LSC-WP status for the provided WordPress
installation.
dashnotify {-m | -wppath } [-plugin ] {-msgfile | -msg }
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 | }
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 } | -wpinstallsfile }
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 (
). 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.