DEV Community

dom
dom

Posted on • Edited on

TMUX for automation / startup monitoring

The problem: Need to start multiple services all at once and also be able to monitor them somehow (there's no way to do logging to a file, because custom CLI tool).
Example use case: Spin up dev server in one click - start server, IDE like VS Code, and Docker subservices (database etc), de clutter multiple terminal windows into one and to monitor logs more easily.

sudo EDITOR=nano crontab -e
@reboot bash /path/to/script.sh

script.sh

#!/bin/bash 

SESH="startupIO" 

tmux has-session -t $SESH 2>/dev/null 

if [ $? != 0 ]; then 
    ## 8000
    tmux new-session -d -s $SESH -n "rhttpds"
    tmux send-keys -t $SESH:rhttpds "bash /home/user/Desktop/services/startup/rhttpds.sh" C-m 

    ## 8024
    tmux new-window -t $SESH -n "rhttpds80" 
    tmux send-keys -t $SESH:rhttpds80 "bash /home/user/Desktop/services/startup/rhttpds80.sh" C-m 

    ## 2121
    tmux new-window -t $SESH -n "uploadFTP" 
    tmux send-keys -t $SESH:uploadFTP "bash /home/user/Desktop/services/startup/upload-FTP.sh" C-m 

    tmux set-option -t $SESH status on 
    tmux set-option -t $SESH status-style fg=white,bg=black 
    tmux set-option -t $SESH mouse on

    tmux select-window -t $SESH:rhttpds80 
fi
Enter fullscreen mode Exit fullscreen mode

Reconnect to terminal
tmux attach-session -t startupIO

Switch between windows
Previous: Ctrl+B then P
Next: Ctrl+B then N
Other shortcuts: https://tmuxcheatsheet.com/

Stop all
tmux kill-ses -t startupIO

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more