您可以使用以下三个命令之一在UNIX / Linux中执行批处理作业:— 在, batch or cron.
在本文中,让我们回顾一下如何使用以下命令安排工作,查看工作以及删除工作 在命令.
您可以通过两种不同的方式安排工作时间:
- 计划要在特定时间执行的作业。例如,7月3日上午10点
- 安排从现在开始在相对时间内执行作业。例如,从现在起5个小时。
1.使用特定的日期和时间安排作业
句法:
$ 在 time date
例如,要在5月20日上午11点安排作业,请在命令中使用以下命令。
$ 在 11 am may 20
2.使用相对时间安排工作
您可以从现在开始使用相对时间安排要执行的作业。
句法:
$ 在 now + COUNT UNIT
例如,以下作业将从现在开始1分钟执行。
$ 在 now + 1 min
上面的示例将从stdin读取命令,并在一分钟后执行作业。当您在时间格式上输入错误时,您将得到错误‘乱码‘.
您可以使用以下命令在后台从现在开始安排1个小时,或者从现在开始安排1天:
$ 在 now + 1 hour $ 在 now + 1 day
与at命令类似,您也可以使用crontab在计划的时间执行作业。请参阅我们前面的内容 15个cron命令示例 文章。
3.使用atq查看所有计划的at作业
您可以使用atq命令(或-l)来显示已调度或当前正在运行的所有at命令作业。
以下atq命令将列出所有未决 在 职位。显示的第一个数字是作业号,其后是要执行该过程的时间以及用户名。
$ 在q 4 2010-04-20 11:00 a sathiya
4.使用atrm删除/删除计划的作业
您可以使用atrm命令(或在-d处)删除特定作业。例如,要删除作业编号4,请使用以下atrm命令。
$ 在rm 4
5.仅当系统平均负载为<1.5使用批处理命令
您可以使用批处理命令计划作业,这将提示您输入命令,该命令将在系统平均负载小于1.5时执行。
$ batch
成功完成输入后,您将获得工作编号。要列出和删除批处理作业,可以使用上面说明的at命令。
6.使用-f选项从文件计划作业
首先,创建一个文本文件,其中包含您要使用at命令在后台执行的所有命令或shell脚本。
$ cat myjobs.txt /home/sathiya/calculate-space.sh /path/to/a/shell-script /path/to/any/command/or/script
使用-f选项,可以执行at命令来从文件而不是stdin获取输入。
从at命令开始执行将在1小时后执行myjobs.txt中的所有作业。
$ 在 -f myjobs.txt now + 1 hour
7.允许和拒绝某些用户使用at作业
系统管理员可以控制谁可以安排工作,谁不能使用at.allow和at.deny文件。
首先,系统检查at.allow文件。如果存在at.allow,则仅允许在at.allow文件中指定的用户名使用at命令。
接下来,(如果at.allow不’(如果存在),系统将检查at.deny文件。如果存在at.deny,则不允许在at.deny文件中指定的用户名使用at命令。
默认情况下,大多数系统使用at.deny文件来阻止某些用户使用at命令,例如www-data,guest,backup,man user。
8.执行像nohup这样的命令
类似于 nohup命令 我们之前讨论过,您可以使用at命令在远程服务器上执行命令(或shell脚本),然后从服务器注销。
$ 在 -f myjob now + 1 min $ exit
注意:即使您退出服务器,myjob仍将运行。
9.附加的命令时间格式
您可以在命令日期时间格式中使用以下任何一种格式:
$ 在 10 am tomorrow $ 在 11:00 next month $ 在 22:00 today $ 在 now + 1 week $ 在 noon
如果您喜欢这篇文章,您可能还会喜欢..
![]() |
![]() |
![]() |
![]() |
不错的文章。
谢谢,
坦美