<br />
<br />
前言
此帖已失效,仅作留念~~
具体原因如下:因有玩家利用相关玩法传播不良信息,为了保护中继域名不被封禁及避免产生不必要的麻烦,官方对/trim/www文件夹做了一定限制,故不建议继续折腾,各位安心等待官方放出对应功能!!!
免责声明:数据无价,折腾需谨慎!!
教程整体逻辑
- 获取壁纸临时存储
- 将壁纸转换格式并重命名
- 复制该文件到相关目录
- 赋权
- 创建定时任务
本教材全程需要使用到控制台或shell会话,请自行准备相关工具
第一步:进入root用户
后续所有操作都需要在root下进行。
sudo su
安装 imagemagick 插件,用于图片处理。
apt install imagemagick
一路回车即可完成安装。
第二步:创建脚本文件
自行选择一个指定位置,此处使用 /vol1/1000/config/bingbg/ ,创建一个sh文件(命名随意,这里命名为 bgupdate.sh )。文件内容如下:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
BING_URL="https://www.bing.com"
TEMP_DIR="/tmp/bing_wallpaper"
WALLPAPER_NAME="wallpaper-1.webp"
BG_DIR="/usr/trim/www/static/bg"
THUMBNAIL_BG_DIR="/usr/trim/www/static/thumbnail_bg"
mkdir -p "$TEMP_DIR"
JSON=$(curl -s "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN")
IMAGE_URL=$(echo $JSON | grep -oP '"url":"\K.*?(?=")' | sed 's/^/\//')
FULL_IMAGE_URL="${BING_URL}${IMAGE_URL}"
wget -q -O "${TEMP_DIR}/bing_wallpaper.jpg" "${FULL_IMAGE_URL}"
convert "${TEMP_DIR}/bing_wallpaper.jpg" "${TEMP_DIR}/${WALLPAPER_NAME}"
cp "${TEMP_DIR}/${WALLPAPER_NAME}" "${BG_DIR}/"
cp "${TEMP_DIR}/${WALLPAPER_NAME}" "${THUMBNAIL_BG_DIR}/"
chmod 644 "${BG_DIR}/${WALLPAPER_NAME}"
chmod 644 "${THUMBNAIL_BG_DIR}/${WALLPAPER_NAME}"
rm -rf "${TEMP_DIR}"
echo "$(date +'%Y-%m-%d %H:%M:%S') Wallpaper updated successfully."
亦可直接选择下载文件,地址:
https://www.123684.com/s/6c2djv-BL50h
第三步:授权脚本
对该文件授予可执行权限。
chmod +x /vol1/1000/config/bingbg/bgupdate.sh
第四步:创建定时任务
键入 crontab -e 打开系统定时任务,在末尾空行填入以下内容:
0 0 * * * /vol1/1000/config/bingbg/bgupdate.sh >> /vol1/1000/config/bingbg/bgupdate.log 2>&1
其中两处 /vol1/1000/config/bingbg/ 均可自选的位置,如有变更务必修改。使用 Ctrl+O 回车保存,Ctrl+X 退出编辑器。
键入 crontab -l ,如果有显示相关内容即为添加成功。
总结
至此,定时任务已创建成功。系统将在每日0点后自动更新Bing国区的每日壁纸。每次更新后我们可在指定文件夹下找到log文件以验证是否完成更新。请注意,该脚本中修改的是第一张壁纸,因此在飞牛网页端也必须设置为第一张壁纸才可生效(或自行修改脚本代码)。如未生效,可能是浏览器缓存没过期,目前不想对Nginx做过多修改,该问题暂时没有好的思路进行解决,欢迎各位大佬完善。 |