我正在尝试使用Python 3中的Paramiko将特定文件从远程服务器发送到我的本地计算机。
背景:mydir
目标计算机198.18.2.2上有一个目录,其中包含许多以名称开头的时间戳目录2020…
目标机器: 198.18.2.2
源机器: 198.18.1.1
到目前为止,我已经设法构造了要执行的命令,如下所示:
cd "$(ls -1d /mydir/20* | tail -1)"; scp -o StrictHostKeyChecking=no email_summary.log root@198.18.1.1:/mydir/work/logs/email_summary_198.18.2.2.log
码:
def remote_execute(dest_ip, cmd):
"""API to execute command on remote machine"""
result = []
sys.stderr = open('/dev/null')
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh_client.connect(dest_ip, username='root')
stdin, stdout, stderr = ssh_client.exec_command(cmd)
for line in stdout.readlines():
result.append(line.strip())
ssh_client.close()
return result
except paramiko.AuthenticationException:
print("Authentication with the remote machine failed")
return
except paramiko.SSHException:
print("Connection to remote machine failed")
return
except paramiko.BadHostKeyException:
print("Bad host key exception for remote machine")
return
呼叫: remote_execute('198.18.1.1', cmd)
问题ls -1d /mydir/20* | tail -1
总是给我最新的时间戳文件夹。但是,如果该email_summary.log
文件夹中没有该文件,我想查看具有该文件的下一个最新时间戳文件夹email_summary.log
。
本质上,从包含文件“ email_summary.log”的最新时间戳文件夹中压缩文件。有人可以帮我吗?
提前致谢。
您可以在C中使用CLOCK_MONOTONIC例如:
struct timespec ts;
if(clock_gettime(CLOCK_MONOTONIC,&ts) != 0) {
//error
}
有关Python的方法,请参见此问题-如何在python中获得单调的持续时间?
问题内容: 我想了解内置函数的工作原理。令我感到困惑的是,它还可以用作装饰器,但是仅当用作内置函数时才接受参数,而不能用作装饰器。 这个例子来自文档: 的论点是,,和文档字符串。 在下面的代码中用作装饰器。它的对象是x函数,但是在上面的代码中,参数中没有对象函数的位置。 在这种情况下,x.setter和x.deleter装饰器是如何创建的? 问题答案: 该函数返回一个特殊的描述符对象: 正是这种对
问题描述 (Problem Description) 如何获取文件的父目录? 解决方案 (Solution) 下面的示例演示如何通过使用File类的file.getParent()方法获取文件的父目录。 import java.io.File; public class Main { public static void main(String[] args) { File f
问题内容: How do I change the file creation date of a Windows file from Python? 问题答案: Yak shaving for the win.
问题内容: 我已经使用PuTTYgen生成了密钥对,并使用Pageant进行了登录,因此在系统启动时,我只需输入一次密码。 如何在Linux中实现呢?我听说过,但听说它使用了不同的密钥对格式-我不想更改Windows密钥,如果我可以在Windows和Linux中以相同的方式无缝连接,那就太好了。 问题答案: puttygen支持将您的私钥导出为OpenSSH兼容格式。然后,您可以使用OpenSSH
问题描述 (Problem Description) 如何获取目录的大小? 解决方案 (Solution) 下面的示例演示如何借助FileUtils类的FileUtils.sizeofDirectory(File Name)方法获取目录的大小。 import java.io.File; import org.apache.commons.io.FileUtils; public class Mai
问题描述 (Problem Description) 如何将文件设为只读? 解决方案 (Solution) 此示例演示如何使用File类的file.setReadOnly()和file.canWrite()方法将文件设置为只读。 import java.io.File; public class Main { public static void main(String[] args) {