mirror of
https://github.com/morgan9e/mirror
synced 2026-04-14 16:34:23 +09:00
Init
This commit is contained in:
39
tmux.sh
Normal file
39
tmux.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
SESSION_NAME=$1
|
||||
WINDOW_NAME=$2
|
||||
COMMAND=$3
|
||||
|
||||
export SHELL=/bin/bash
|
||||
|
||||
echo [$(date)] $SESSION_NAME $WINDOW_NAME \"$COMMAND\"
|
||||
|
||||
if tmux has-session -t "$SESSION_NAME" 2>/dev/null; then
|
||||
|
||||
if tmux list-windows -t "$SESSION_NAME" | grep -q "$WINDOW_NAME"; then
|
||||
PANE_ID=$(tmux list-panes -t "$SESSION_NAME:$WINDOW_NAME" -F "#{pane_id}" | head -n 1)
|
||||
|
||||
if [ -n "$(ps -o state= -o comm= -t "$(tmux list-panes -F "#{pane_tty}" -t "$SESSION_NAME:$WINDOW_NAME" | head -n 1)" | grep -v -E '(bash|zsh|fish|sh|tmux)')" ]; then
|
||||
echo "ERROR-BUSY"
|
||||
exit 1
|
||||
|
||||
else
|
||||
echo "EXECUTE"
|
||||
tmux send-keys -t "$SESSION_NAME:$WINDOW_NAME" "$COMMAND" C-m
|
||||
fi
|
||||
|
||||
else
|
||||
echo "CREATE-WINDOW-EXECUTE"
|
||||
tmux new-window -t "$SESSION_NAME" -n "$WINDOW_NAME"
|
||||
tmux send-keys -t "$SESSION_NAME:$WINDOW_NAME" "$COMMAND" C-m
|
||||
fi
|
||||
|
||||
else
|
||||
echo "CREATE-SESSION-CREATE-WINDOW-EXECUTE"
|
||||
tmux new-session -d -s "$SESSION_NAME" -n "$WINDOW_NAME"
|
||||
tmux send-keys -t "$SESSION_NAME:$WINDOW_NAME" "$COMMAND" C-m
|
||||
fi
|
||||
|
||||
# 0 */4 * * * /home/user/tmux.sh cron mirror "/srv/mirror/scripts/dosync.sh" | tee -a $HOME/cron.log
|
||||
# 0 */4 * * * /home/user/tmux.sh cron fedora "/srv/mirror/scripts/fedora-sync.sh" | tee -a $HOME/cron.log
|
||||
|
||||
Reference in New Issue
Block a user