让 Tiny Tiny RSS 定时自动更新信息源并开启第三方客户端登陆支持

如果装好了 Tiny Tiny RSS 发现信息源无法自动更新的话,可以试试以下几种解决办法。

方法一:开启简单更新模式

打开 config.php 配置文件,将 SIMPLE_UPDATE_MODE 参数设置为true,这样每次打开 Tiny Tiny RSS 就可以开始更新信息源了。

define('SIMPLE_UPDATE_MODE', true);

方法二:使用 crontab 开启后台自动更新模式

还是打开 config.php 配置文件,将 PHP_EXECUTABLE 的 PHP 路径设置好:

# /usr/bin/php 为我的系统的 php 路径,仅供参考
define('PHP_EXECUTABLE', '/usr/bin/php');

如果找不到 PHP 路径的话,可以通过在站点目录下创建 <?phpecho phpinfo();.php 文件后打开浏览器访问查看。

改好 config.php 文件后,需要创建一个 Linux 普通用户,之所以要另外创建一个用户,是因为更新脚本文件 update.phpupdate_daemon2.php 不能由 root 用户来执行,但是可以通过 apache 或者 Nginx 的运行用户来执行脚本计划(这里拿创建一个名叫 ttrss 的用户举例):

# 创建新用户
adduser ttrss
# 给新用户初始化密码
passwd ttrss

给相关目录设置 777 的权限:

chmod -R 777 feed-icons
chmod -R 777 lock
chmod -R 777 cache/export
chmod -R 777 cache/images
chmod -R 777 cache/upload

用 crontab 添加一个定时运行计划:

crontab 命令被用来提交和管理用户需要周期性执行的任务,与 windows 下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动 crond 进程,crond 进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

先看下 crontab 定时计划的规则示例:

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
 *  *  *  *  * user-name  command to be executed

由于 Tiny Tiny RSS 的更新脚本不能用 root 执行,所以需要用到上文创建的用户来执行计划:

# 编辑 cron 文件,写入 ttrss 用户,允许 ttrss 用户使用 crontab 命令
sudo vi /etc/cron.allow
# 以 ttrss 用户身份执行 crontab 计划
crontab -u ttrss -e
# 在打开的计划编辑页面输入指令,每45分钟执行一次计划
*/45 * * * * /usr/bin/php /你的tinyrss站点目录/update.php --feeds --quiet

注意:

定时时间可以自行修改
为了保证 crontab 正常运行,一定先在 cron.allow 中写入执行用户
/usr/bin/php 为我的系统的 php 路径,仅供参考

检查定时计划的配置是否成功:

方法一

# 在 root 身份下,查看 ttrss 用户的计划内容
cat /var/spool/cron/ttrss
# 查看 crontab 的 log 文件是否包含 ttrss 用户的计划内容
cat /var/log/cron

如图:

image-20200817201734134

方法二

# 切换到 ttrss 用户身份下
su ttrss
crontab -l
# 同样可以看到该用户的计划内容

如图:

image-20200817201350377

进一步确保 crontab 命令是否正常运行,在 ttrss 用户身份下执行:

/usr/bin/php /你的tinyrss站点目录/update.php --feeds

当终端开始运行计划,并显示信息源的更新时间,则说明定时任务配置成功,如图:

image-20200817202111708

以上配置都完成后,Tiny Tiny RSS 就可以每45分钟在后台自动更新信息源了。

安装 Fever 插件,使 Tiny Tiny RSS 支持第三方客户端登陆

如果是 Mac 用户,又比较喜欢使用 RSS 订阅文章阅读的话,想必都会接触 Reeder 这款 app,接下来会说明如何让 Reeder 关联 Tiny Tiny RSS。

# 进入 Tiny Tiny RSS 站点的插件目录
cd ./plugins.local
# 安装 Fever 插件
git clone https://github.com/DigitalDJ/tinytinyrss-fever-plugin fever

打开网页端,进入 偏好设置,选择 插件,找到刚才装好的 Fever 后启用。

image-20200814180905237

然后记得打开 启用API

image-20200814181001789

设置第三方登录用的密码:

image-20200814181414664

接下来打开 Reeder,选择 Fever 方式登录,Server 要填 Fever 的 api 地址 http://localhost/plugins.local/fever/Email 是 Tiny Tiny RSS 的用户邮箱,Password 是上面设置的第三方登录用的密码:

image-20200814181727421

大功告成。


参考阅读
https://git.tt-rss.org/fox/tt-rss/wiki/UpdatingFeeds
https://tstrs.me/1451.html
https://sword.studio/200.html
https://phower.me/2020/03/Tiny%20Tiny%20RSS%20%E5%AE%89%E8%A3%85%E5%8F%8A%E5%A1%AB%E5%9D%91%E4%B9%8B%E8%B7%AF/

发表评论

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