add socket option for tmux window manager
This commit is contained in:
parent
8a04318f93
commit
ca063a9790
1 changed files with 10 additions and 1 deletions
11
backup.sh
11
backup.sh
|
@ -24,6 +24,7 @@ RESTIC_HOSTNAME="" # Leave empty to use system hostname
|
||||||
LOCK_FILE="" # Optional lock file to acquire to ensure two backups don't run at once
|
LOCK_FILE="" # Optional lock file to acquire to ensure two backups don't run at once
|
||||||
LOCK_FILE_TIMEOUT="" # Optional lock file wait timeout (in seconds)
|
LOCK_FILE_TIMEOUT="" # Optional lock file wait timeout (in seconds)
|
||||||
WINDOW_MANAGER="screen" # Choices: screen, tmux, RCON
|
WINDOW_MANAGER="screen" # Choices: screen, tmux, RCON
|
||||||
|
TMUX_SOCKET="" # if -L is set will be defined as the tmux socket used
|
||||||
|
|
||||||
# Other Variables (do not modify)
|
# Other Variables (do not modify)
|
||||||
DATE_FORMAT="%F_%H-%M-%S"
|
DATE_FORMAT="%F_%H-%M-%S"
|
||||||
|
@ -59,6 +60,7 @@ while getopts 'a:cd:e:f:hH:i:l:m:o:p:qr:s:t:u:vw:x' FLAG; do
|
||||||
echo "-H Set hostname for restic backup (restic only)"
|
echo "-H Set hostname for restic backup (restic only)"
|
||||||
echo "-i Input directory (path to world folder, use -i once for each world)"
|
echo "-i Input directory (path to world folder, use -i once for each world)"
|
||||||
echo "-l Compression level (default: 3)"
|
echo "-l Compression level (default: 3)"
|
||||||
|
echo "-L tmux socket name"
|
||||||
echo "-m Maximum backups to keep, use -1 for unlimited (default: 128)"
|
echo "-m Maximum backups to keep, use -1 for unlimited (default: 128)"
|
||||||
echo "-o Output directory"
|
echo "-o Output directory"
|
||||||
echo "-p Prefix that shows in Minecraft chat (default: Backup)"
|
echo "-p Prefix that shows in Minecraft chat (default: Backup)"
|
||||||
|
@ -74,6 +76,7 @@ while getopts 'a:cd:e:f:hH:i:l:m:o:p:qr:s:t:u:vw:x' FLAG; do
|
||||||
H) RESTIC_HOSTNAME=$OPTARG ;;
|
H) RESTIC_HOSTNAME=$OPTARG ;;
|
||||||
i) SERVER_WORLDS+=("$OPTARG") ;;
|
i) SERVER_WORLDS+=("$OPTARG") ;;
|
||||||
l) COMPRESSION_LEVEL=$OPTARG ;;
|
l) COMPRESSION_LEVEL=$OPTARG ;;
|
||||||
|
L) TMUX_SOCKET=$OPTARG ;;
|
||||||
m) MAX_BACKUPS=$OPTARG ;;
|
m) MAX_BACKUPS=$OPTARG ;;
|
||||||
o) BACKUP_DIRECTORY=$OPTARG ;;
|
o) BACKUP_DIRECTORY=$OPTARG ;;
|
||||||
p) PREFIX=$OPTARG ;;
|
p) PREFIX=$OPTARG ;;
|
||||||
|
@ -262,7 +265,13 @@ execute-command () {
|
||||||
case $WINDOW_MANAGER in
|
case $WINDOW_MANAGER in
|
||||||
"screen") screen -S "$SCREEN_NAME" -p 0 -X stuff "$COMMAND$(printf \\r)"
|
"screen") screen -S "$SCREEN_NAME" -p 0 -X stuff "$COMMAND$(printf \\r)"
|
||||||
;;
|
;;
|
||||||
"tmux") tmux send-keys -t "$SCREEN_NAME" "$COMMAND" ENTER
|
"tmux")
|
||||||
|
if [[ $TMUX_SOCKET != "" ]]; then
|
||||||
|
tmux -L "$TMUX_SOCKET" send-keys -t "$SCREEN_NAME" "$COMMAND" ENTER
|
||||||
|
else
|
||||||
|
tmux send-keys -t "$SCREEN_NAME" "$COMMAND" ENTER
|
||||||
|
fi
|
||||||
|
|
||||||
;;
|
;;
|
||||||
"RCON"|"rcon") rcon-command "$SCREEN_NAME" "$COMMAND"
|
"RCON"|"rcon") rcon-command "$SCREEN_NAME" "$COMMAND"
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Reference in a new issue