- 简介
- 第一章 - 关于 CD
- 第二章 - 基本命令
- Hack-7 Grep
- Hack-8 Grep 与正则表达式
- Hack-9 Find 命令
- Hak-10 重定向
- Hack-11 Join 命令
- Hack-12 Tr 命令
- Hack-13 Xargs 命令
- Hack-14 Sort 命令
- Hack-15 Uniq 命令
- Hack-16 Cut 命令
- Hack-17 Stat 命令
- Hack-18 Diff 命令
- Hack-19 Ac 命令
- Hack-20 让命令在后台执行
- Hack-21 Sed 替换基础
- Hack-22 Awk 简介
- Hack-23 VIM 基本入门
- Hack-24 Chmod 命令
- Hack-25 Tail -f -f
- Hack-26 Less 命令
- Hack-27 Wget 下载器
- 第三章 - SSH 技巧
- 第四章 - 日期设置
- 第五章 - PS* 介绍
- 第六章 - 压缩和打包
- 第七章 - 历史命令
- 第八章 - 系统任务管理
- 第九章 - 安装软件
- 第十章 - LAMP 套装
- 第十一章 - Bash 脚本
- 第十二章 - 系统性能监控
- 第十三章 - 额外的技巧
Hack-69 Anacron 配置
Anacron 配置
anacron
是 cron
在桌面系统中的软件.(其实桌面系统也有 cron.)
你可能会问,为什么要有一个桌面系统版本啊? 因为,桌面系统不是服务器,不需要也不可能 24 小时运行,所以 anacron
的意义就是在一个非 24 小时运行的机器上执行计划任务。
比如说,当你在笔记本上运行了一个每天晚上 11 点备份文件的脚本,但是你不可能确保每天晚上 11 点都会开机啊,那么备份就不会运行了么? 对于 cron
来说是的,因为过了那个点儿了,他就不会运行了,但是对于 anacron
来说就不是,因为他就是专门应付这种情况的,如果今天晚上 11 点没有运行备份脚本,那么当你再次启动计算机的时候,他就会立即执行这个备份脚本. 同样,如果系统待机也会是这样,当系统再次被唤起的时候就会执行那些本该执行却没有执行的计划任务。
Anacrontab 格式
正如 cron
的记录文件是 /etc/crontab
一样, anacron
也有一个记录文件 /etc/anacrontab
.
/etc/anacrontab
的格式为:
period delay job-identifier command
第一个字段是 执行的周期 , 如果写 1,就表示每天执行,如果写 7 就代表每周执行,同理,如果写 30,就代表每月执行,当然,也可以是任意的阿拉伯数字。
第二个字段是 延迟执行的时间 , 这个是用来应付那些没有被正常执行的计划任务的,也就是说,如果一个任务没有被正常执行(关机待机等情况), 当再次开机后,需要延迟多长时间再次执行. 它的单位是分钟。
第三个字段是 任务的标识(zhi4) 符 , 每个文件都必须又一个独一无二的标识符,标识符文件保存在 /var/spool/anacron/
目录下,每个文件记录着不同任务上次执行的时间,这也就解释的通为什么它可以在开机后执行那些没有被正常执行的任务了。
第四个字段是 要执行的命令 , 比如要执行一个脚本,就可以写" /bin/sh /root/bala/backup.sh
".
举个栗子
➤ cat /etc/anacrontab
7 15 test.daily /bin/sh /root/bala/backup.sh
每七天执行备份脚本,任务的标识符为 test.daily
, 如果没有正常运行,则在开机后 15 分钟之后再次运行。
两个变量
START_HOURS_RANGE
和 RANDOM_DELAY
干什么用呢? 慢慢说。
上面的这个例子是,每天执行一个脚本,什么时候执行? 开机十五分钟之后执行. 但是,如果你的笔记本一周不关机怎么办? 难道备份脚本就不要执行了吗? 肯定不行啊. 所以这个时候就需要 /etc/anacrontab
里的变量( START_HOURS_RANGE
) 了。
默认的值是 3-22, 也就是凌晨 3 点到晚上 10 点,这个时间段所谓一个开机周期,如果过了这个周期,那 anacron
就会知道新的一天开始了。
上面提到的第二个变量也有点意思,刚才我们说到开机 15 分钟之后执行那个脚本,但是真实情况还要加点东西,加点什么呢? 加的就是这个 RANDOM_DELAY
内的分钟数,默认的 RANDOM_DELAY
值是 45, 也就是说,每个任务开启的时间是不确定的,是在用户指定的时间上在加 0-45 之间的一个数。
Cron Vs Anacron
Cron | Anacron |
---|---|
最小执行周期是分钟 | 最小执行周期是天 |
任何用户都可以运行 | 只允许超级用户运行 |
要求系统 7x24 小时运行,如果某个任务错过了执行时间,那么它将不会被执行 | 不要求系统 7x24 小时运行. 如果某个计划任务没有被正常运行,那么他将在下次开机后再次运行 |
服务器 | 桌面机或者笔记本 |
扩展阅读: Cron Vs Anacron
本书简介:
- Linux 进阶技巧
- 巧妙的命令组合
- Bash 某些技巧
- 一共一百零一个(包括充数的)
- 最后有个奖励章(额外技巧)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论