AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[at](unix)

Martin Hope
Xavanteex
Asked: 2023-08-27 22:38:39 +0800 CST

at 在极端情况下表现如何?

  • 5

当使用时at midnight next month,1 月 31 日,它会表现如何?是3月4日还是2月28日?还是3月31日?

at
  • 2 个回答
  • 49 Views
Martin Hope
Richard Barraclough
Asked: 2023-06-03 06:00:56 +0800 CST

在作业:队列 ID 和作业文件

  • 7
root@calleva:/var/spool/cron/atjobs# echo "sleep 3000" | at 20:58
warning: commands will be executed using /bin/sh
job 161 at Sat Jun  3 20:58:00 2023

root@calleva:/var/spool/cron/atjobs# ls
a000a101acba0e

root@calleva:/var/spool/cron/atjobs# cat a000a101acba0e
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
LANGUAGE=en_GB:en; export LANGUAGE
PWD=/var/spool/cron/atjobs; export PWD
LOGNAME=root; export LOGNAME
XDG_SESSION_TYPE=tty; export XDG_SESSION_TYPE
MOTD_SHOWN=pam; export MOTD_SHOWN
HOME=/root; export HOME
LANG=en_GB.UTF-8; export LANG
SSH_CONNECTION=192.168.0.12\ 60848\ 192.168.0.113\ 22; export SSH_CONNECTION
XDG_SESSION_CLASS=user; export XDG_SESSION_CLASS
USER=root; export USER
SHLVL=0; export SHLVL
XDG_SESSION_ID=1202; export XDG_SESSION_ID
XDG_RUNTIME_DIR=/run/user/0; export XDG_RUNTIME_DIR
SSH_CLIENT=192.168.0.12\ 60848\ 22; export SSH_CLIENT
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.dotnet/tools:/root/bin:/opt/mssql-tools/bin:/usr/games; export PATH
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus; export DBUS_SESSION_BUS_ADDRESS
SSH_TTY=/dev/pts/5; export SSH_TTY
OLDPWD=/root; export OLDPWD
cd /var/spool/cron/atjobs || {
         echo 'Execution directory inaccessible' >&2
         exit 1
}
sleep 3000


root@calleva:/var/spool/cron/atjobs# atq
161     Sat Jun  3 20:58:00 2023 a root

root@calleva:/var/spool/cron/atjobs#

有没有办法告诉该文件a000a101acba0e对应于队列项161?

at
  • 2 个回答
  • 55 Views
Martin Hope
vrms
Asked: 2022-11-03 06:47:33 +0800 CST

使用 at 显示命令详细信息

  • 7

我对使用 at 很陌生,想知道如何通过预定作业显示命令。

postgres@dcjsn-jv2526:/opt/db/backup/postgres/dumps> atq
29      Wed Nov  2 18:55:00 2022 a postgres

我看到某个用户在某个时间安排了一项工作 29。现在我想检查要执行的命令。我该如何实现?联机帮助页中没有关于此的内容。

at
  • 2 个回答
  • 30 Views
Martin Hope
Marko
Asked: 2021-09-25 00:17:11 +0800 CST

运行命令立即运行脚本

  • 0

我尝试使用“at”命令在特定时间停止和启动服务器,但由于某种原因,脚本立即运行。我尝试了不同的方法来做到这一点,但它总是会运行。我究竟做错了什么?我试着这样做:

./stop | at 03:52 092421

像这样:

./start | at 04:00 tommorow
shell at
  • 1 个回答
  • 65 Views
Martin Hope
AbstProcDo
Asked: 2018-11-01 05:43:34 +0800 CST

使用管道的 atrm 待处理任务 [重复]

  • -1
这个问题在这里已经有了答案:
在指定日期从队列中删除作业 (2 个答案)
3年前关闭。

at我在待处理作业队列中有一些任务,

$ atq
28  Wed Oct 31 10:23:00 2018
27  Tue Oct 30 21:20:00 2018
25  Tue Oct 30 21:19:00 2018
26  Tue Oct 30 21:20:00 2018
20  Tue Oct 30 18:25:00 2018
30  Wed Oct 31 10:59:00 2018
32  Wed Oct 31 21:03:00 2018
23  Tue Oct 30 18:28:00 2018
31  Wed Oct 31 13:58:00 2018
19  Tue Oct 30 15:43:00 2018
21  Tue Oct 30 18:27:00 2018

我想获取工作编号并将其删除

$ atq | awk '{print $1}'
20
30
32
23
31
19
21

但是,它没有按预期工作

$ atq | awk '{print $1}'| atrm ; atq
20  Tue Oct 30 18:25:00 2018
30  Wed Oct 31 10:59:00 2018
32  Wed Oct 31 21:03:00 2018
23  Tue Oct 30 18:28:00 2018
31  Wed Oct 31 13:58:00 2018
19  Tue Oct 30 15:43:00 2018
21  Tue Oct 30 18:27:00 2018

我用命令替换解决了问题

$ atrm $(echo "$(atq | awk '{print $1}')")

为什么管道没有按预期执行atrm?

bash at
  • 1 个回答
  • 97 Views
Martin Hope
AbstProcDo
Asked: 2018-10-31 00:34:06 +0800 CST

在指定日期从队列中删除作业

  • 3

我在队列中有一系列待处理的工作,

$ atq
8   Mon Oct 29 13:21:00 2018
5   Mon Oct 29 10:36:00 2018
15  Mon Oct 29 13:31:00 2018
4   Mon Oct 29 10:35:00 2018
18  Mon Oct 29 15:55:00 2018
3   Mon Oct 29 10:31:00 2018
16  Mon Oct 29 15:54:00 2018
11  Mon Oct 29 13:24:00 2018
12  Mon Oct 29 13:24:00 2018
17  Mon Oct 29 15:53:00 2018
10  Mon Oct 29 13:23:00 2018
19  Tue Oct 30 15:43:00 2018
2   Mon Oct 29 07:41:00 2018
6   Mon Oct 29 10:41:00 2018
7   Mon Oct 29 13:20:00 2018
9   Mon Oct 29 13:22:00 2018

并计划在 10 月 29 日移除他们的工作。幸运的是,atrm 可以移除多个工作

atrm 8 5 15 4 

尽管如此,迭代可能是更好的解决方案,

$ atq | grep "Oct 29"
18  Mon Oct 29 15:55:00 2018
3   Mon Oct 29 10:31:00 2018
16  Mon Oct 29 15:54:00 2018
11  Mon Oct 29 13:24:00 2018
12  Mon Oct 29 13:24:00 2018
17  Mon Oct 29 15:53:00 2018
10  Mon Oct 29 13:23:00 2018
2   Mon Oct 29 07:41:00 2018
6   Mon Oct 29 10:41:00 2018
7   Mon Oct 29 13:20:00 2018
9   Mon Oct 29 13:22:00 2018

我如何选择工作编号的第一个字段以迭代它们?

scripting at
  • 2 个回答
  • 1045 Views
Martin Hope
Matthias Braun
Asked: 2018-08-27 03:22:28 +0800 CST

关机、挂起需要在安排时进行身份验证

  • 3

我想暂停我的笔记本电脑使用at:

echo "systemctl suspend" | at now + 5 minutes

暂停不会发生,而是我从atin找到一封邮件/var/spool/mail/me:

Failed to set wall message, ignoring: Interactive authentication required.
Failed to suspend system via logind: Interactive authentication required.
Failed to start suspend.target: Interactive authentication required.
See system logs and 'systemctl status suspend.target' for details.

好的,运行logind时需要身份验证。这很有趣,因为当我直接运行时,没有,不需要身份验证并且机器进入暂停状态。atsystemctl suspendsystemctl suspendat

我已确保使用 执行的命令与at直接使用echo "echo $(who) > who.txt" | at now.

怀疑需要身份验证,at因为它通过/bin/sh(这是 bash 的别名)运行命令,我systemctl suspend在启动后执行/bin/sh:挂起立即发生而无需身份验证,这表明嵌套 shell 不是使用at.

echo "reboot" | at now执行和时,我得到相同的行为和非常相似的邮件echo "shutdown now" | at now。

我的问题是:如何logind确定它at试图挂起、重新启动或关闭机器,我怎么知道logind它应该允许at在没有身份验证的情况下执行这些命令?


我在 Arch Linux 4.18.1 上,at版本为 3.1.19。

systemd at
  • 1 个回答
  • 2537 Views
Martin Hope
Chris Smith
Asked: 2018-03-15 19:23:22 +0800 CST

立即在作业中运行

  • 3

假设我使用at. 并在几个小时后说,“你知道,我希望该命令现在运行”。有没有一种简单的方法可以现在而不是稍后运行该计划的作业?

我知道我可以简单地atrm手动运行命令,但是我们的命令是自动化的并且非常复杂。如果有一些简单的方法现在而不是以后运行作业,那就太好了。

at
  • 2 个回答
  • 465 Views
Martin Hope
user9303970
Asked: 2018-02-25 23:56:37 +0800 CST

在 echo "command" 的实用程序问题上 | at +[#][时间单位]

  • 0

我希望从现在开始提前 2 小时运行特定任务。

在 Ubuntu 16.04 的 Bash 4.3 中,我执行了:

tdm() {
    chmod -R a-x,a=rX,u+w "$drt"/phpmyadmin/
    echo "chmod -R 000 "$drt"/phpmyadmin/" | at +2h
}
tdm

我得到:

语法错误。最后看到的令牌:+

乱码时间

也许我应该以某种方式将当前时间放入变量中X并定义“从时间开始 2 小时X”?

我不明白这里的答案。

at
  • 1 个回答
  • 466 Views
Martin Hope
dessert
Asked: 2017-12-16 03:00:08 +0800 CST

如果计算机在指定时间关闭,`at` 会稍后运行命令吗?

  • 21

我想用 安排作业at,但我不确定如果计算机在指定时间挂起会发生什么: 计算机再次唤醒时会立即执行命令(如用anacron)还是根本不执行(像cron)?

如果您指定一个作业绝对在过去的特定时间和日期运行,该作业将尽快运行。

这就是手册页所说的,但它与我的情况不太匹配:我不想指定过去运行的作业,我想在将来运行它并询问at如果计算机将如何处理它正在睡觉呢。

这不是计算机睡眠时运行命令的副本,因为此问题询问是否at会唤醒计算机以执行命令,也不是如何防止 atd 运行过去的作业?因为这是关于如何防止at执行那些“旧”作业(尽管答案非常好!)。

scheduling at
  • 1 个回答
  • 1138 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve