linux每一小时在服务器上运行某个脚本,关于bash:如何在Linux上的某个时间运行脚本?...

我有一个包含特定日期和时间的文本文件。我希望能够在该文件中指定的时间运行脚本。你会怎么做到?创建另一个在后台运行的脚本(类似于一个讲道),并每秒检查当前时间是否与文件中的时间匹配?还有别的办法吗?这台机器是一台Linux服务器,debian weezy。提前谢谢

克罗恩为什么不工作?

为什么这个主题是关闭的?这是一个非常合理的问题。谷歌搜索会把你引向"1",答案相当呆板。所以能回答这个问题的人会被屏蔽

@Richard我怀疑StackOverflow关闭这么多这样的问题的原因是为了鼓励用户在适当的StackExchange站点上提出不属于主题的问题。有相当多以前不存在的新SE站点。例如,有很多非常有用的VIM问题,所以作为非主题结束,现在有一个VI/VIM SE,这些问题将在那里讨论。只是沉思。然而,这仍然像是一个编程问题

我忘记了每次学习后如何使用cron,我不需要任何高级的东西。

请看以下内容:

echo"ls -l" | at 07:00

此代码行在特定时间执行"ls-l"。这是在特定时间执行某项操作(我的示例中的命令)的示例。""是你真正想要的命令。您可以在此处阅读规范:

http://manpages.ubuntu.com/manpages/precise/en/man1/at.1posix.htmlhttp://manpages.ubuntu.com/manpages/xenial/man1/at.1posix.html

希望它有帮助!

有什么线索吗?

您需要运行atd守护进程才能使用at。在manjaro openrc上,您只需安装at-openrc,并使用:sudo rc-update add atd添加守护进程ATD服务,然后从sudo rc-service atd start开始。通常,at包已经包含了一个systemd(各种发行版Linux上的默认init/service系统,包括ubuntu)服务,它可以用sudo systemctl start atd启动,也可以用sudo systemctl enable atd在init上启用autostart。

在我的例子中,这会立即打印出"2017-08-21 10:53的工作6"…

顺便说一句,我的bash文档描述了at -c的用法。如果执行一个命令的方法是通过管道将其导入std-in,这是为了什么?

at命令专门用于此目的(与cron命令不同,cron命令用于调度重复性任务)。

at $(cat file)

用bash,你可以写$(< file)。

cron很适合定期运行的东西,比如每个星期六的凌晨4点。还有Anacron,它可以解决电源关闭、睡眠等问题。以及AT。

但是对于一个一次性的解决方案,不需要根或任何东西,您可以使用日期计算目标时间和当前时间之间的秒数,然后使用expr查找差异,并休眠许多秒。

即使机器同时重新启动,at作业仍将保持计划状态。

通常在Linux中,您使用crontab来完成此类已调度的任务。但是,您必须指定"设置计时器"的时间——因此,如果您希望在文件本身中对其进行配置,则必须创建一些机制来实现这一点。

但一般来说,您可以使用以下示例:

30 1 * * 5 /path/to/script/script.sh

将在每周五1:30(AM)执行脚本在这里:

30是分钟

1为小时

接下来的2个*是day of month和month(按顺序排列),5是工作日。

那么你将如何触发这个命令呢?

crontab guru(crontab.guru)是crontab配置的有用工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值