10_使用anacron调度任务
使用anacron调度任务
-
Anacron
与cron
类似,只是它通常用于不是一直处于启动状态的系统,例如作为台式机或者笔记本电脑。Anacron
不希望系统像服务器一样运行24*7小时。当你想要一份后台工作时,要在不总是启动的机器上自动执行,应该使用Anacron
而不是cron。假如你安排一个晚上10点的任务,而你的笔记本电脑在10点并没有醒来,当系统启动时,那么您的备份作业将不会执行,它会被跳过,直到下一个计划。
但是,如果您使用了anacron安排了相同的作业,则可以确定一旦你的电脑启动时,它会被执行。
如果cron作为守护进程运行,则anacron只是一个必须运行的命令才能执行计划的任务。事实上,每次系统启动时,anacron都会自动运行。
另需注意的是,anacron由root用户运行,因此任务将具有特权并且作业频率以天而不是分钟来表示,就像在cron的情况下一样。
anacron的配置文件anacrontab文件位于/etc/anacrontab
如图所示,已经有3个与cron有关的工作,
run-parts
是一个命令,它会运行在目录中找到的所有可执行文件,比如第二行,它会运行 /etc/cron.weekly 中找到的所有可执行文件。在这个文件中,每行有四个字段,第一个字段是以天为单位的周期,它指定作业执行的频率。在此字段中,你也可以使用@daily,@weekly或@monthly。
第二个字段指定anacron在执行作业之前将等待多长时间,延迟功能旨在防止系统因大量作业而过载,如果anacron确定它需要在启动时运行多个命令,它不会同时运行它们,而是会有一个延迟。
第三个字段是工作标识符,它对于每个作业应该都是唯一的,它是一个文件的名称,它会在/var/spool/anacron下创建,这个文件叫做作业时间戳文件,将包含一行"指示最后一次工作被执行的时间"。
第四个字段是需要被执行的命令。
在运行anacron之前,可以检查anacrontab(配置文件)有无错误,使用:
anacron -T 如果在anacron选项卡文件中有任何错误,它会打印出一条显示错误的消息。
接着运行anacron:
sudo anacron -d 通常,anacron作业在后台运行,屏幕上不会打印任何内容,-d选项将之带到前台来。
cat /var/spool/anacron文件
你会看到任务被执行的最后时间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端