我有一个 bash 脚本,它每天使用crontab.
该脚本检查一个条件,如果为真,它应该at command在特定时间发出一个。
at 14:10 <notify-send hello>
问题是:如何notify-send向at命令添加特定命令?
当我想使用 延迟程序的执行时at,它准确地表明了我的意思
warning: commands will be executed using /bin/sh
Run Code Online (Sandbox Code Playgroud)
bash例如,如何更改此默认 shell ?
我有一个使用at命令的脚本。有时我会收到这样的电子邮件:
Date: Mon, 3 Jul 2017 14:18:00 +0300 (EEST)
From: root <root@localhost.org>
To: root@localhost.org
Subject: Output from your job 173
Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
Run Code Online (Sandbox Code Playgroud)
当然我会使用这个选项来阻止这样的消息,但首先我想知道这个选项的含义是什么。不幸的是,-w选项未在 中列出man at。
有谁知道这个选项到底是什么意思?
我写了一个名为t.sh的shell ,内容是:
touch 88888
Run Code Online (Sandbox Code Playgroud)
我正在使用的命令是
sh t.sh | at 03:13Jun15
Run Code Online (Sandbox Code Playgroud)
执行此命令后,我在屏幕上看到了这个节目:
warning: commands will be executed using /bin/sh
job 9 at Sun Jun 15 03:13:00 2014
Run Code Online (Sandbox Code Playgroud)
很明显,这将在 Sun Jun 15 03:13:00 2014 执行
但是当我检查我的文件夹时,我发现那里存在一个 88888 文件。Rmoved它并再次尝试,仍然是相同的结果。
这里有什么问题?它会是一个 bash/sh 的事情吗?因为我看到它说将由 /bin/sh 执行?
我使用 cron 在 Linux 中安排事情,但最近我发现了“at”命令。
sudo apt-get install at
Run Code Online (Sandbox Code Playgroud)
我不明白这个命令的作用范围:
此外,到目前为止我尝试过的一切都没有实现我想要做的。
例如,我试图在一分钟后启动 gedit:
echo "gedit" | at now + 1 minute
Run Code Online (Sandbox Code Playgroud)
我等了一会儿,什么也没发生。
从现在起一分钟后,我试图关闭显示器:
echo "xset dpms force off" | at now + 1 minute
Run Code Online (Sandbox Code Playgroud)
我等了一会儿,什么也没发生。
如果我不能在一分钟后“在”可靠地执行一项任务,我怎么能确定它会执行我告诉它明天和以后要做的事情?
我在这里缺少什么?
有时我在编程时被打断,希望有某种警报功能可以提醒我做一些重要的事情。
我不想制造时钟,也不想像我的智能手机那样做。
最好只是在屏幕上提醒。非循环。我知道曾经有一个叫做提醒的程序可以做到这一点。我也知道粘滞便笺,但有一个政策,永远不会出于任何原因更改我的存储库。还有一种叫做提醒的东西,但它不适用于 16.04 LTS。
所以现在我找不到任何类似的东西。
也许社区中有人知道这一点。
我怎样才能让我的 Ubuntu 轻松做到这一点?希望只有一个命令(因为这通常是为了响应其他地方的求助电话)。
---编辑:我必须在 Ubuntu 16.04 LTS 上实际安装 at 命令:
sudo aptitude install at
Run Code Online (Sandbox Code Playgroud) 我在 linode 上的服务器 VPS 上运行最新的 Ubuntu,安装 cronkeep 时出现此错误
哦,啪!
at 在此系统上不可用。每当您点击“运行”时,CronKeep 都会在内部使用这个巧妙的命令来独立于您的 Web 服务器运行作业。这意味着您可以重新启动您的 Web 服务器并仍然让进程在后台运行。
这是命令的原始输出,可以帮助您进一步调试:sh: 1: at: not found
有没有被调用的工具,at或者在 C 编译器上有什么可用的东西?。
at-command ×7
command-line ×5
bash ×2
cron ×2
16.04 ×1
notification ×1
schedule ×1
scheduled ×1
server ×1
sh ×1