linuxat命令剩余时间

worktile 其他 24

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    linux中的at命令是用来指定一次性任务的执行时间的。它允许你在指定的时间运行一段命令,而无需等待当前任务完成。当使用at命令时,你可以通过不同的选项来设置任务的运行时间,其中包括剩余时间。

    要查看at命令的剩余时间,你可以使用atq命令。atq命令会显示当前系统中所有已经提交但还未执行的at任务。通过对已经提交的任务进行查看,你就可以得知每个任务的剩余时间。

    要查看atq命令的输出结果,你可以运行以下命令:

    atq

    这将显示出类似下面的任务队列:

    5 Mon Jul 12 15:30:00 2021 a root
    6 Mon Jul 12 16:00:00 2021 a root
    7 Mon Jul 12 17:00:00 2021 a root

    每行的第一个数字代表任务的编号,日期和时间列示了任务的计划执行时间,最后一列表示任务的优先级和所属用户。

    从日期和时间列中,你可以得知每个任务的剩余时间。比如,如果任务的执行时间是Mon Jul 12 15:30:00 2021,而当前时间是Mon Jul 12 14:45:00 2021,那么剩余时间就是45分钟。

    另外,如果你只想查看某个具体任务的剩余时间,你可以使用at命令的-J选项。以下是一个示例:

    at -J 5

    这将显示任务编号为5的任务的剩余时间。

    总之,要查看at命令的剩余时间,你可以使用atq命令来查看当前系统中所有已经提交但还未执行的任务,也可以使用at命令的-J选项来查看指定任务的剩余时间。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    为了获取Linux中at命令的剩余时间,可以使用以下几种方法:

    1. 使用atq命令:在命令行中输入atq命令可以列出当前正在执行的at任务,其中包括它们的剩余执行时间。atq命令输出的最后一列是任务的时间戳,可以根据这个时间戳计算出任务的剩余执行时间。例如,atq命令输出的时间戳格式为HH:MM YYYY-MM-DD,可以使用date和awk命令将时间戳转换为UNIX时间戳,然后计算剩余时间。

    2. 使用at命令的-v选项:在at命令后跟上-v选项可以显示任务的详细信息,其中包括任务的执行时间。对于当前正在执行的任务,可以计算出它的剩余执行时间。

    3. 使用at命令的-l选项:在命令行中输入at -l命令可以列出所有已定义的at任务,其中包括任务的执行时间。根据任务的执行时间可以计算出它的剩余执行时间。

    4. 查看/var/spool/at目录:Linux将at任务存储在/var/spool/at目录中,每个任务对应一个文件。通过查看这个目录中的文件可以获取任务的执行时间。使用ls命令可以列出目录中的文件,然后使用stat命令可以获取文件的创建时间,进而计算出任务的剩余执行时间。

    5. 使用cronie工具:cronie是一个可以安排和执行计划任务的工具,类似于at命令。它提供了一些命令和选项来管理计划任务,包括查看当前正在执行的任务以及它们的剩余执行时间。

    无论使用哪种方法来获取at命令的剩余时间,都需要有root权限才能查看所有的任务和相关信息。另外,值得注意的是,剩余执行时间是相对的,它取决于当前的系统时间和任务的执行时间。如果系统时间有误差或者任务的执行时间被修改,剩余执行时间可能不准确。因此,需要根据具体情况进行调整。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux中,可以使用at命令来执行一次性的任务,并且可以指定任务的运行时间。要查看一个at任务的剩余时间,需要先了解at任务的工作原理和流程,然后才能确定任务剩余时间。

    下面是查看at任务剩余时间的方法和操作流程:

    1. 创建at任务

    在创建at任务之前,需要先确认at命令是否已经安装。可以通过在终端输入”at”命令来检查是否存在at命令,如果没有安装,则需要先安装at命令。

    要创建at任务,可以使用at命令后跟一个时间参数,指定任务应该在哪个时间运行。例如,要创建一个任务,在5分钟后运行,可以使用以下命令:

    “`
    at now + 5 minutes
    “`

    在终端中输入上述命令后,会进入一个交互式界面,可以在其中输入要执行的命令。完成后按Ctrl + D保存任务。

    2. 查看at任务剩余时间

    要查看at任务的剩余时间,可以使用atq命令。在终端中输入”atq”命令,会显示所有当前的at任务。

    每个at任务都有一个唯一的编号。例如:

    “`
    12 Wed May 26 15:00:00 2021 a user1
    13 Wed May 26 15:05:00 2021 a user2
    “`

    在上述示例中,任务12将在2021年5月26日15:00:00运行,任务13将在2021年5月26日15:05:00运行。

    要查看某个at任务的剩余时间,可以使用at命令后跟任务的编号。例如,要查看任务12的剩余时间,可以使用以下命令:

    “`
    at -c 12
    “`

    在终端中输入上述命令后,会显示任务的详细信息,包括任务的运行时间、命令等。

    3. 计算剩余时间

    根据at任务的运行时间和当前时间可以计算剩余时间。可以使用date命令获取当前时间,并将其与at任务的运行时间进行比较。

    以下是一个示例脚本,用于计算任务剩余时间:

    “`bash
    #!/bin/bash
    task_time=$(at -c 12 | grep ‘run time’ | awk ‘{print $4 ” ” $5 ” ” $6 ” ” $7}’)
    current_time=$(date +’%Y-%m-%d %H:%M:%S’)
    task_timestamp=$(date -d “$task_time” +’%s’)
    current_timestamp=$(date -d “$current_time” +’%s’)
    time_diff=$((task_timestamp – current_timestamp))

    echo “剩余时间:$(($time_diff / 60))分钟”
    “`

    将上述脚本保存为一个文件(例如”remaining_time.sh”),并运行该文件:

    “`
    bash remaining_time.sh
    “`

    脚本将根据at任务的编号获取任务的运行时间并计算剩余时间。最后,将剩余时间以分钟为单位打印出来。

    通过以上步骤,就可以查看at任务的剩余时间了。需要注意的是,at任务的剩余时间可能受到系统时间和时区的影响,请确保系统时间和时区设置正确。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部