[英]How do I run a cron job that spawns a tmux session? (MacOS)
我在 MacOS Catalina 上。 我正在尝试运行一个 cron 作业,该作业生成一个名为 tmux session 和 windows 的作业。 这是crontab -l
:
* * * * * cd /Users/dev/project; ./start.sh; ./poll 2>> /tmp/cron.out
但是我没有看到我的 session 和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
但我想在你的情况下使用完整路径更具可读性!
在unix.stackexchange上阅读有关$PATH
的更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.