目录[-]

系统环境:

Ubutun 16.04

Python 2.7


access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。官方推荐中控服务器统一刷新,利用Python代码和Crontab定时任务功能,每小时统一刷新,写入MySQL,供公众号统一调用。

一、环境准备

1、Python环境

    系统默认使用.sh脚本,但可以在Crontab任务中直接使用命令启动任务,但需要设置环境变量。可以在Crontab任务、.sh脚本和.py脚本中设置,推荐在系统环境变量中设置。

# 查看python安装位置,根据实际情况设置py2或py3的位置
which python

# 查看系统的环境变量,这是显示/etc下的environment文件,里面放的就是系统变量
echo $PATH

# 将第一步中查找到的python路径,加到系统环境变量中
export PATH=/usr/bin/python2.7:$PATH

2、打开Crontab日志

  crontab默认不记录日志,需要在配置中打开:

# 打开50-default.conf配置文件
vi /etc/rsyslog.d/50-default.conf

# 将cron前面的注释符去掉 
cron.*    /var/log/cron.log

# 重启日志服务
sudo  service rsyslog  restart

保存文件即可。

二、建立任务

1、编辑Crontab任务

在设置定时任务时建议先测试任务是否可正常运行。

# 打开配置文件
crontab -e
# 设置任务
45 * * * * /usr/bin/python /home/wwwroot/wxapi/token_refresh.py

任务由五部分组成,前五部分依次是分、时、日、月、周,是时间设置,默认为 “ * ” ;第六部分是命令。

2、启动Crontab任务

# 启动/停止/重启任务
service crond start/stop/restart

三、错误排查

# 查看crontab日志
less  /var/log/cron.log

根据日志内容逐步排查错误。