非服务器的定期校正时间 Anacron

与服务器不同,编程和办公用计算机不是连续24小时运行的。开关机的时间不固定,类似较时这样的任务无法保证运行。

对于这类机器,可以考虑使用 Anacron 进行设置。

在 Archlinux 中, Anacron 已经包含在 cronie 包中。

首先启动 cronie 服务:

systemctl enable cronie
systemctl start cronie

/etc/cron.daily新建文件 0time

cd /etc/cron.daily
touch 0time
chmod +x 0time

编辑文件0time,内容如下:

#!/bin/sh
/usr/bin/ntpd -q -g
/usr/bin/hwclock -w
date > /tmp/checktime
  • 0time 必须是可执行文件。文件名中不要含有空格等非常规字符。

  • 0 代表执行顺序

  • date > /tmp/checktime,使我们可以检查 tmp 目录下 checktime 文件的内容判断该定时任务何时被执行。

参考

  • Anacron 依赖于 cron 调用。具体内容可查看/etc/cron.d/0hourly/etc/anacrontab

  • 另提供几个NTP服务器地址(添加到/etc/ntp.conf):

# 国家授时中心服务器IP地址
server 210.72.145.44
# 上海交通大学网络中心NTP服务器地址, ntp.sjtu.edu.cn
server 202.120.2.101
# Microsoft
server time.windows.com
server 1.cn.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
posted @ 2015-05-05 12:46  ccpaging  阅读(236)  评论(0编辑  收藏  举报