특정 창을 사용하여 활성 세션에 연결하고 cronjob을 실행하는 방법은 무엇입니까?

특정 창을 사용하여 활성 세션에 연결하고 cronjob을 실행하는 방법은 무엇입니까?

내 개발 설정에는 여러 창이 있는 활성 세션이 있으며 cronjob의 출력을 이 활성 세션으로 출력하고 싶습니다.특정 창.
나는 crontab에 다음 명령을 작성했습니다.

/bin/bash /home/user/backup.sh

따라서 백업 스크립트는 매우 간단해 보입니다.

#!/bin/bash
# Setting up all environment variables:
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
export PATH=$PATH:/usr/local/bin/
export DISPLAY=:0;

tmux new-session -d -s <session-name> -n <window name>
tmux send-keys "/usr/bin/rsync /home/user/input /home/user/output/" ENTER

하지만 스크립트는 tmux의 현재 활성 창에 출력을 기록합니다. 출력이 다음으로 이동하는지 어떻게 확인합니까?창 이름제가 대본에서 그런 얘기를 했었나요?

다들 감사 해요!

답변1

tmux new-window옵션이 포함되어 있어 찾고 계시는 것 같습니다 -d. ~에서tmux(1):

새 창문[-adkP ] [-씨시작 디렉토리] [-에프형식] [-N창 이름] [-티대상 창] [쉘 명령]

[...]

만약에-디주어지면 세션은 새 창을 현재 창으로 만들지 않습니다.

따라서 스크립트에는 단일 명령이 필요합니다.

tmux new-window -d -n <new_window_name> -t <existing_session_name>: /usr/bin/rsync ...

:세션 이름 뒤에 가 있다는 점에 유의하세요. 이 new-window명령의 경우 이 옵션에는 대상 세션뿐만 아니라 -t대상 창( 형식)이 필요합니다 .session:window

관련 정보