回归之路(五)WP无法定时发布文章的解决办法

         我一直习惯使用离线编辑器Windows Live Writer,本来是为了方便定时发送文章,结果最近发现没法定时发布文章了。我检查后发现是VPS系统的时区设置和本地时区设置的时间差异造成的。主要表现为,输入date正确的时间格式以后,回车,系统提示当前时间已经修改,但再次执行date查看系统时间,依然会返回到系统默认时区所在时间,无论是重启系统或直接使用ntp同步时间都无效。

于是我先使用如下命令尝试设置时区:

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区

ntpdate us.pool.ntp.org #同步时间

date -R # 检查时间是否同步

但是我发现不管怎么设置VPS的时区都无法修改到正常的时间。

结果找了半天后发现是原来XEN的VPS做了某些限制造成无法正常使用命令修改VPS的时区及时间参数的。有部分使用XenSystem的母机,虚拟下来的VPS时间无法使用date等命令直接修改。主要表现为,输入date正确的时间格式以后,回车,系统提示当前时间已经修改,但再次执行date查看系统时间,依然会返回到系统默认时区所在时间,无论是重启系统或直接使用ntp同步时间都无效。

XEN VPS 需先修改如下参数
#先设置XEN 的VPS使用和系统无关的时间模式
echo 1 > /proc/sys/xen/independent_wallclock
然后尝试上面独立主机的配置方法即可。通过配置时间正确后,编辑系统配置文件,让配置永久生效。
vi /etc/sysctl.conf
xen.independent_wallclock=1 #在文件中增加并且保存

下面是完整解决步骤:

一、修正时间

1、编辑/etc/sysctl.conf

vi /etc/sysctl.conf

SSH执行以上命令,在该文件底部加入以下代码。

xen.independent_wallclock = 1

保存并退出。

2、执行以下命令

sysctl -p

SSH执行以上命令,重新加载系统参数。

3、依次执行以下命令

rm -rf /etc/localtime    #删除当前默认时区
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#复制替换默认时区为上海
yum install -y ntp        #安装时间同步服务(组件)
ntpdate us.pool.ntp.org   #设置同步服务器
date                      #查看时间(时区)是否生效

SSH中依次逐行执行以上命令(黄色字无需复制),即可替换默认时区,更新为上海时间。若执行“date”后时间恢复正常,则表示修改成功。

二、自动同步时间

为了保证时间的准确性和或防止VPS和母机时间再一次同步,请设置开机时自动同步最新的时间。

1、查询ntpdate组件所在位置

which ntpdate

SSH执行以上命令,查询ntpdate组件所在路径。(可跳过)

2、添加开机自动启动项

(1)修改/etc/rc.local文件

vi /etc/rc.local

SSH执行以上命令。

(2)在适当位置加上以下命令

/sbin/ntpdate us.pool.ntp.org

保存并退出即可。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注