Я пытаюсь автоматизировать свои процедуры AWS, и теперь я пытаюсь автоматически запустить скрипт в сеансе tmux, чтобы позже я мог войти и просмотреть вывод. Я использую boto3, оболочку Python вокруг aws-cli. Я запускаю команды на работающем экземпляре через:
ssm = boto3.client('ssm')
ssm.send_command(
InstanceIds=[self.id],
DocumentName='AWS-RunShellScript',
Parameters={
'commands': [cmd]}
)
Используя это, я отправляю следующие команды своему экземпляру:
tmux new-session -d -s mysession
tmux send-keys -t mysession '/home/ubuntu/../some_executable_script.sh' ENTER
Это похоже на работу - если я зайду в ssh и посмотрю на top
, ясно, что скрипт выполняется.
Но если я тогда наберу tmux ls
Я вижу error connecting to /tmp/tmux-1000/default (No such file or directory)
.
Понятия не имею, что здесь происходит, и я не эксперт по tmux или aws / ssm. Любые предложения будут ценны.