我如何运行生成tmux会话的cron作业? (MacOS)

问题描述 投票:0回答:1

我在MacOS Catalina上。我试图运行一个cron作业,该作业会生成一个带有Windows的命名tmux会话。这是crontab -l

* * * * * cd /Users/dev/project; ./start.sh; ./poll 2>> /tmp/cron.out

但是我看不到与tmux ls的会话。在我的错误日志中cat /tmp/cron.out

./poll: line 3: tmux: command not found
./poll: line 5: tmux: command not found

这是我正在运行的脚本。我为用户安装了tmux,它可以正常工作。当我正常执行poll时,它就可以正常工作。

这里是start.sh

#!/bin/bash

tmux kill-session -t collect

tmux new -s "collect" -d ./stuff
bash cron tmux macos-catalina
1个回答
0
投票

如果在常规终端中运行tmux,它将搜索$PATH变量以找到正确的文件夹。

cron执行的脚本与您的用户没有共享相同的环境$PATH变量,因此该脚本找不到可执行文件。

您可以将$PATH添加到脚本中,如下所示:

#!/bin/bash

PATH=/usr/local/bin

tmux kill-session -t collect

tmux new -s "collect" -d ./stuff

但是我想使用完整路径在您的情况下更具可读性!

$PATH上阅读有关unix.stackexchange的更多信息

© www.soinside.com 2019 - 2024. All rights reserved.