私の開発設定には複数のウィンドウを持つアクティブセッションがあり、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 ][-氏起動ディレクトリ] [- Fフォーマット] [-Nウィンドウ名] [-ティーターゲットウィンドウ] [シェルコマンド]
[...]
もし-D与えられると、セッションは新しいウィンドウを現在のウィンドウにしません。
したがって、スクリプトには単一のコマンドが必要です。
tmux new-window -d -n <new_window_name> -t <existing_session_name>: /usr/bin/rsync ...
:
セッション名の後にあることに注意してください。このnew-window
コマンドの場合、このオプションにはターゲットセッションだけでなく、ターゲット-t
ウィンドウ(フォーマット)も必要です。session:window