首页 > 解决方案 > 列出远程机器中的 txt 文件

问题描述

从 MySQL 查询中获得一个列表,从我的远程机器使用 python 脚本,我想将查询结果放入一个 txt 文件中。

我正在尝试这个:

import subprocess
import sys
from subprocess import check_output
command = 'sshpass -p pass ssh user@ipaddress "echo \'' + str(list) + '\' > file.txt; ls"'
output = check_output(command, shell=True)
print (output)

但它返回一个错误。

有没有更简单的方法来做到这一点?

错误:

  File "ipcompare.py", line 53, in <module>
    output3 = check_output(command, shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 223, in check_output
    raise CalledProcessError(retcode, cmd, output=output)

列表示例:

'['11.111.1.111/29-Name=0', '12.122.2.222/29-Name=0']

标签: pythonbash

解决方案


完成这个:

import subprocess
from subprocess import check_output
command = 'mysql -u ' + args.user + ' -p' + args.pwd + ' -h ' + args.ipdb + ' -P 8036 myDTS -e "select example from example2;" 2>/dev/null'
output2 = check_output(command, shell=True)

这可以从远程机器上完成,只需使用sshpass command


推荐阅读