重新安排工作
有没有办法更改使用 unix at
命令发出的作业的日期?
我需要这样做,因为我的应用程序同时安排了太多作业,这将使机器停止运行。
Is there a way to change the date of a job that has been issued with the unix at
command?
I need to do this because my Application has scheduled too many jobs at the same time which will bring the machine to a grinding halt.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这可能与实现相关,但在我的系统上,我可以像这样重命名作业:
文件名中的最后 8 个十六进制数字是 Unix 纪元的分钟数,决定运行作业的时间。将其增加延迟的分钟数。
编辑:
下面是一个 Bash 脚本,用于自动执行上述步骤。以下是一些运行示例:
创建作业:
将作业重新安排为一小时后:
将其重新安排为提前 15 分钟:
现在添加一天:
您可以指定一个队列:
进行一次试运行:
以下是脚本:
This is probably implementation dependent, but on my system I can rename the job like so:
The last 8 hex digits in the filename is the number of minutes from the Unix Epoch that determines the time to run the job. Increment that by the number of minutes to delay.
Edit:
Below is a Bash script to automate the steps above. Here are some example runs:
Create a job:
Reschedule the job for one hour later:
Reschedule it for 15 minutes earlier:
Now add a day:
You can specify a queue:
Do a dry run:
Here's the script:
这将为该作业分配一个新时间的新 ID。
This will assign the job a new id for its new time.
我不确定是否有办法将它们重新安排在不同的时间,但您可以从
at
中完全删除它们,如下所示:首先列出作业:
然后删除它们:
然后您可以重新创建它们如果你想。
I'm not sure if there is a way to reschedule them for a different time, but you can remove them completely from
at
like this:First list the jobs:
Then remove them:
You can then recreate them if you want.