Нужен совет по модулю ОС при выполнении команды на удаленном сервере

#python

#python

Вопрос:

У меня возникли трудности с выполнением приведенной ниже команды на удаленном сервере. Я пробовал разные модули, такие как. OS amp; Commands, но ни один из них не может выполнить команду как есть. Я получаю либо синтаксическую ошибку, либо нежелательный результат, если добавляю дополнительные кавычки. Может кто-нибудь, пожалуйста, помочь с этим.

 mminfo -av -ot -q "client=test,savetime>=2 days ago" -r "group,client,sscreate(20),sscomp(20),ssflags,level,name,sumsize,pool" | grep "TEST"
 

Комментарии:

1.просто use subprocess.run(your_command, shell=True) your_command может быть заключен в одинарные или тройные кавычки (не двойные, потому что вы используете их в своей команде). '''mminfo -av -ot -q "client=test,savetime>=2 days ago" -r "group,client,sscreate(20),sscomp(20),ssflags,level,name,sumsize,pool" | grep "TEST"'''

2. Если вам нужно запустить команду на удаленной машине, может быть полезно изучить модуль, специально предназначенный для этого. Я предлагаю использовать Paramiko, он очень мощный.

Ответ №1:

Я должен был добавить это в качестве ответа вместо комментария.

Просто используйте subprocess.run subprocess.run(your_command, shell=True)

your_command может быть заключен в одинарные или тройные кавычки (не двойные, потому что вы используете их в своей команде).

your_command = '''mminfo -av -ot -q "client=test,savetime>=2 days ago" -r "group,client,sscreate(20),sscomp(20),ssflags,level,name,sumsize,pool" | grep "TEST"'''