如何安排作业在UNIX中仅运行一次

时间:2019-07-16 08:38:56

标签: linux unix solaris

我正在构建一个unix软件包,其中有一个脚本,根据客户端要求,脚本应该只运行一次(而不是每天运行)。我不确定如何运作? 我的意思是,我需要安排时间吗?如果是,那么我找不到任何cron命令。 如果否,那么在安装软件包时如何执行脚本?

3 个答案:

答案 0 :(得分:2)

在Unix / Linux中有两种常规的计划任务的方法:

  • cron对于可重复的任务很有用。
  • at对于单个任务很有用。

因此,就您而言,我将使用at来安排您的任务。

答案 1 :(得分:2)

Cron用于重复执行同一命令或脚本。如果您想安排一次脚本运行的时间,我建议您使用“ at”命令

计划脚本将从现在开始运行10分钟:

at now +10 minutes
sh <path_to_my_script>

然后按Ctrl + d保存

您可以使用小时,几天,几周而不是几分钟。供参考https://linux.die.net/man/1/at

列出排队的作业:

atq

要删除给定的计划作业:

atrm <job_id>

注意:请确保您具有运行计划的脚本或使用sudo运行的特权。

答案 2 :(得分:1)

如果安装软件包仅一次,则完全不需要cron,只需让用户执行即可。可以说,您指示用户执行类似./install的操作,并包含脚本,仅此而已。

但是正如前面所说的,首先定义一次的含义。

致谢。