当前位置: 首页 > 面试题库 >

https://stackoverflow.com/questions/60218092/how-to-get-the-latest-folder-that-contains-a-specific-file-of-interest-in-linux

安毅
2023-03-14
问题内容

我正在尝试使用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) {