我一直在做一些关于调度任务的研究。我看到了crontab命令函数。
crontab是创建的文件还是命令?
如果是一个文件,那么一个用户可以拥有多少个文件?它们是特定于用户的还是特定于系统的(例如,如果我使用crontab创建一个任务,如果另一个用户登录到系统,任务会执行吗?)
如果它是一个命令,那么它在哪里存储用于执行任务的信息?
发布于 2012-11-05 20:56:57
命令crontab -e将创建一个文件,但是您不需要知道这一点,并且不应该手工编辑它。
man crontab向您展示了各种选项,最重要的是:
crontab -e编辑crontab -l列表请注意,您作为cron作业的环境与您在交互式shell中使用的环境非常不同。最容易检查的方法是设置cron作业,如下所示:
* * * * * set > /tmp/environment.log
# | | | \day of week 0-7 (0 or 7 is Sun, or use names)
# | | \--month 1-12 (or names, see below)
# | \----day of month 1-31
# \------hour 0-23
#\--------minute 0-59有关crontab本身的语法,请检查man 5 crontab。
然后等待一分钟,然后再次删除cron作业,因为否则这个无意义的作业将每分钟运行一次。
然后检查交互式shell (只输入set)和cronjob (只键入cat /tmp/environment)之间的差异。尤其是PATH和SHELL可能会让你大吃一惊。
发布于 2014-07-16 19:08:09
如果您有兴趣将任务作为Ubuntu中的正常用户帐户来调度(也就是说,您没有将系统范围的事情作为根用户来处理),那么您应该跳过cron、crontab、at和anacron的所有细节。
相反,通过Unity或类似的应用程序菜单查看Ubuntu中可用的计划任务应用程序。它极大地简化了项目的调度工作。有一些与它的使用有关的“问题”,但是这样您就不必在命令行中做任何事情。
例如,我有一个使用计划任务定期运行的小备份脚本。(该程序基本上将项目插入到crontab中,等等)
计划任务提供两个不同的视图。有一个视图被简化了,如下所示:

另一个视图显示了crontab将显示的内容:

其中一个“难点”是,您的正常“路径”对于特定的计划项不可用,因此您需要明确说明要运行的命令。
无论如何,cron、crontab、at和anacron的细节都太宽泛了,不适合于Ubuntu。
https://askubuntu.com/questions/212335
复制相似问题