最近换上了Follow,但是Xing同学的博客不能通过境外IP访问,导致Follow订阅不了。综上所述,我选择做一个转发。
实际上非常简单。
- 写脚本
得益于GPT4.0的帮助和一点点点点Linux基础,我们可以得到以下代码。我将其存放在目录下的update_rss.sh文件里。经测试,可以抓取rss.xml和/feed。
记得替换文件目录成你自己的!
#!/bin/bash
RSS源
====
RSS_URL="目标RSS地址"
本地文件路径
======
LOCAL_PATH="/文件目录/rss.xml"
替换文件目录成你自己的!
============
使用curl下载文件,添加重试和错误输出日志
======================
curl -L --retry 3 -o "$LOCAL_PATH" "$RSS_URL" 2\>\> /文件目录/rss_update.log
检查下载是否成功
========
`if [ $? -eq 0 ]; then
echo "$(date): RSS feed updated successfully." >> /文件目录/rss_update.log
else
echo "$(date): Failed to update RSS feed." >> /文件目录/rss_update.log
fi`
每当这个脚本被执行,服务器就会向RSS源Curl得到RSS数据,并写入到本地目录的rss.xml里,只需要请求服务器转发后的rss.xml即可。每次请求RSS数据的大小,时间,是否成功等信息都会被存到log文件里。
Log
- 定时脚本
在目标目录下执行这个:
crontab -e
可能会让你选择目标编辑器,这里我输入1并Enter,选择了Nano。
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
`Choose 1-4 [1]: `
接下来填入以下内容:(下面的是实例)
0 0,1,11,12,18 * * * /文件目录/update_rss.sh
第一个 0 表示每个小时的第0分钟。
0,1,11,12,18 表示在每天的 0点、1点、11点、12点和18点运行。可以自己更改。
3个"*"号分别表示每一天、每个月、每周的任意天。
- 其他事项
记得让目标RSS源放行你的服务器IP,以及,最好申请授权并征得博主同意。
现在在Follow里可以搜到"往日信笺"了,转发出去的订阅地址在https://media.duckxu.com/xingmail_cn.xml。