Skip to main content

Operations — At a Glance

This is the collection of operations scripts run by an administrator (root) connected to the gateway server over SSH. General users can get by with the web UI alone, but operational tasks such as start / stop / backup / upgrade / fault diagnosis are performed through these scripts.

Container mode (2026.05+) has its own guide

If systemctl is-active plantpulse-edge.service is active, you are in container mode. Instead of the native scripts on this page (bin/start.sh and so on), use the /opt/kopens/install/bin/*.sh commands on the Container Mode page. This page applies only to native deployment boxes.

Installation paths (native):

PE_HOME=/opt/kopens/plantpulse-edge
cd $PE_HOME/bin
ls *.sh # 어떤 스크립트가 있는지 확인

At a Glance

CategoryScriptOne-line descriptionDuration
Startstart.shBoots the entire gateway stack~90–120 s
start-daemon.shRuns start.sh in the background via nohupImmediate
Stopstop.shShuts down all modules (max 20 s per component, including Cassandra drain)~60–90 s
Restartrestart.shRestarts Tomcat only — no downtime, the most frequently used~6 s
reboot.shOS reboot
Backupbackup.shBatch backup of settings + DB snapshot + tool dataMinutes
Upgradeupgrade.shBackup → download / install new version5–15 min
firmware.shOS package update (dnf update)Minutes
Diagnosislog-viewer.shConsolidated tail -f of logs from 7 componentsIndefinite
ps.shLive plantpulse processesImmediate
node-info.shnodetool info (Cassandra status)Immediate
node-cql.shInteractive Cassandra cqlsh
network-speed-test.shMeasures external network speedMinutes
Cleanupclean.shBulk deletion of logs / temporary filesImmediate
node-cleanup.shReclaims Cassandra disk spaceMinutes
ScenariosRunbooks for new version rollout / fault diagnosis / low disk space / scheduled backup / disaster recovery
Most frequently used commands

The one used almost every time in the development / deployment cycle is restart.sh (Tomcat only, 6 s). start.sh is used once after an OS reboot, and stop.sh only right before inspection or backup.


Sub-components' own start.sh / stop.sh

The full-stack scripts (start.sh, stop.sh) only coordinate ordering; the actual implementation is handled by the per-component scripts. Call them directly when you want to restart just one:

ComponentStartStop
Redis (cache)$PE_HOME/cache/bin/start.sh$PE_HOME/cache/bin/stop.sh
Cassandra (DB)$PE_HOME/db/bin/start.sh$PE_HOME/db/bin/stop.sh
HiveMQ (MQTT)$PE_HOME/mqtt/bin/start.sh$PE_HOME/mqtt/bin/stop.sh
timeseries-engine$PE_HOME/timeseries/engine/bin/start.sh$PE_HOME/timeseries/engine/bin/stop.sh
timeseries-dashboard$PE_HOME/timeseries/dashboard/bin/start.sh$PE_HOME/timeseries/dashboard/bin/stop.sh
Tomcat (server)$PE_HOME/server/bin/start.sh$PE_HOME/server/bin/stop.sh
Node-RED$PE_HOME/node/bin/start.sh$PE_HOME/node/bin/stop.sh

Example — restarting Node-RED only:

$PE_HOME/node/bin/stop.sh
$PE_HOME/node/bin/start.sh

Permissions / Location Notes

  • All scripts require root privileges (binding ports 80/443, systemctl, writing to /opt/).
  • Directories:
PurposePath
Gateway code / build artifacts/opt/kopens/plantpulse-edge/
User data (sparkplug bdSeq, grafana, node-red, hivemq, apm)/data1/pp-data/
Backup artifacts/data1/pp-backup/
Tomcat logs$PE_HOME/server/logs/catalina.out
Cassandra logs$PE_HOME/db/logs/system.log
HiveMQ logs$PE_HOME/mqtt/log/hivemq.log
Node-RED logs$PE_HOME/node/log/node-red.log
  • Note: It is recommended to place /opt/kopens/ and /data1/pp-data/ on separate disks. Separating code updates from data retention reduces the risk of data loss during upgrades.

Learn More

  • For detailed procedures in each category, see the Start / Stop / Restart / Backup / Upgrade / Diagnosis / Cleanup / Scenarios pages in the left menu.
  • For usage of each script, refer to --help or the comments at the top of the script.