我对 Ubuntu / Linux 还不太熟悉,所以如果我使用的术语不正确,请多多包涵。我使用的是 Ubuntu 20.04,但我使用 Putty 通过终端执行所有操作。
我正在使用一组 shell 脚本(.sh
文件)和 PowerShell 脚本(.ps1
文件)来检索 Azure 指标数据。我已将其设置为crontab
每 15 分钟运行一次,并且它运行了大约一个月,没有任何问题。我使用的是从 snap/snapd 安装的 PowerShell 7.4.0。
这些脚本不再适用于 crontab。具体来说,它不再从 Azure 检索数据。我知道这不是 Azure 问题,因为我可以使用 在命令行中手动运行该脚本pwsh /full/path/xyz.sh <parameter>
。但是,当我尝试使用sudo
before运行该脚本时pwsh
,我收到两行错误:
堆栈溢出。
已中止
我假设这两个问题相关,但我尝试过更改权限、删除并重新添加 PowerShell、更改文件所有者/组、更改用户调用脚本的方式crontab
,以及我在其他论坛上找到的其他一些方法。我能找到的与脚本相关的唯一错误日志是/var/log/apport.log
:
executable does not belong to a package, ignoring
希望这些信息足够,但如果需要,我可以提供更多信息。
答案1
发现找不到crontab
所以pwsh
我放置了整个路径/snap/bin/pwsh
而不是仅仅pwsh
在 shell 脚本文件中来运行该.ps1
文件然后一切又恢复正常了。