我有一个非常奇怪的问题,我似乎无法弄清楚。
当我在 SSH 终端(putty)中执行包含以下行的 python 脚本时,它可以正常工作。但是当我通过 crontab 运行脚本时,甚至nohup python myscript >/dev/null 2>&1&
它似乎都没有执行这些命令。
subprocess.call('rsync -avr /path/to/folder/. --include "delta.*" --exclude "*" -e "ssh -o StrictHostKeyChecking=no -i /path/to/key.pem" ec2-user@'+server+':/path/to/folder/', shell=True)
local('ssh -t -o StrictHostKeyChecking=no -i /path/to/key.pem ec2-user@'+server+' "sudo /usr/bin/indexer -c /path/to/sphinx.conf --merge main delta --rotate"')
基本上,以上所有操作都是将带有新 sphinx 搜索引擎更新的文件夹同步到远程服务器,然后第二行运行远程 ssh 命令以强制搜索引擎将更新轮换到生产环境中。
我确实安装了结构(因此是本地命令),但为了避免制造第二个文件,我希望一行代码可以让我在远程服务器上执行 sudo 命令。
有人可以帮我吗?