我的 crontab 文件如下所示:
*/1 * * * * /Users/dmitriy/.asdf/shims/elixir ~/work/scripts/my_script.exs
那个脚本不起作用。据我了解,cron无法检测到elixir的位置。我在 macOS Ventura 上运行它。
如何解决这个问题?
我在
macOS 12.5.1
,并且我也使用 asdf 安装了 elixir。我的 elixir 路径与你的相同,但用的是我的用户名:
*/1 * * * * /Users/7stud/.asdf/shims/elixir
我使用了我的 Elixir 脚本的完整路径:
*/1 * * * * /Users/7stud/.asdf/shims/elixir /Users/7stud/elixir_programs/my_prog.ex
my_prog.ex 包含:
IO.puts "Cron job just finished"
我将 Elixir 脚本的输出重定向到日志文件:
*/1 * * * * /Users/7stud/.asdf/shims/elixir /Users/7stud/elixir_programs/my_prog.ex >> /Users/7stud/cron_output.log 2>&1
这是我在
cron_output.log
中看到的内容:
/Users/7stud/.asdf/installs/elixir/1.16.0-otp-26/bin/elixir: line 247: exec: erl: not found
/Users/7stud/.asdf/installs/elixir/1.16.0-otp-26/bin/elixir: line 247: exec: erl: not found
/Users/7stud/.asdf/installs/elixir/1.16.0-otp-26/bin/elixir: line 247: exec: erl: not found
/Users/7stud/.asdf/installs/elixir/1.16.0-otp-26/bin/elixir: line 247: exec: erl: not found
/Users/7stud/.asdf/installs/elixir/1.16.0-otp-26/bin/elixir: line 247: exec: erl: not found
/Users/7stud/.asdf/installs/elixir/1.16.0-otp-26/bin/elixir: line 247: exec: erl: not found
...
...
貌似找不到erl,即erlang命令。