我如何 运行 生成 tmux 会话的 cron 作业? (苹果系统)
How do I run a cron job that spawns a tmux session? (MacOS)
我在使用 MacOS Catalina。我正在尝试 运行 一个使用 windows 生成命名 tmux 会话的 cron 作业。这是 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
如果您在常规终端中 运行 tmux
,它将搜索 $PATH
变量以找到正确的文件夹。
由 cron
执行的脚本与您的用户不共享相同的环境 $PATH
变量,因此脚本无法找到 exatuable。
您可以将 $PATH
添加到您的脚本中,如下所示:
#!/bin/bash
PATH=/usr/local/bin
tmux kill-session -t collect
tmux new -s "collect" -d ./stuff
但我想在您的情况下使用完整路径更具可读性!
上阅读有关 $PATH
的更多信息
我在使用 MacOS Catalina。我正在尝试 运行 一个使用 windows 生成命名 tmux 会话的 cron 作业。这是 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
如果您在常规终端中 运行 tmux
,它将搜索 $PATH
变量以找到正确的文件夹。
由 cron
执行的脚本与您的用户不共享相同的环境 $PATH
变量,因此脚本无法找到 exatuable。
您可以将 $PATH
添加到您的脚本中,如下所示:
#!/bin/bash
PATH=/usr/local/bin
tmux kill-session -t collect
tmux new -s "collect" -d ./stuff
但我想在您的情况下使用完整路径更具可读性!
上阅读有关$PATH
的更多信息