====== 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.