利用群晖Synology的crontab实现每日自动更新必应壁纸

张开发
2026/4/5 7:37:48 15 分钟阅读

分享文章

利用群晖Synology的crontab实现每日自动更新必应壁纸
1. 为什么需要自动更新群晖登录壁纸群晖NAS的登录界面默认只支持静态壁纸设置每次更换都需要手动上传新图片。对于追求个性化的用户来说这显然不够方便。必应搜索每天都会更新一张高质量壁纸这些图片往往包含精美的自然风光或人文景观如果能自动同步到群晖登录界面既能保持新鲜感又能提升使用体验。我自己的DS918用了三年多每次登录看到同样的壁纸都觉得审美疲劳。直到发现可以通过crontab定时任务配合脚本实现自动更新整个系统的使用体验立刻提升了一个档次。现在每天早上打开管理界面都能看到不同的风景这种小惊喜让日常工作都变得更有趣。2. 准备工作与环境配置2.1 开启SSH访问权限首先需要在群晖控制面板中开启SSH功能。进入控制面板→终端机和SNMP勾选启动SSH功能端口保持默认的22或者改为其他安全端口。建议设置一个复杂的root密码或者更好的是使用密钥认证方式。这里有个小技巧我通常会创建一个专用账户用于维护然后通过sudo授权而不是直接使用root账户。这样可以降低操作风险。在群晖上可以通过以下命令给普通用户添加sudo权限vim /etc/sudoers # 在文件末尾添加 your_username ALL(ALL) ALL2.2 创建壁纸存储目录登录SSH后建议在存储空间较大的volume上创建专用目录存放壁纸和脚本。我习惯放在/volume1下mkdir -p /volume1/wallpaper/bing chmod 777 /volume1/wallpaper设置777权限是为了避免权限问题导致脚本运行失败。如果担心安全问题可以设置为755并确保执行脚本的用户有读写权限。3. 获取并配置必应壁纸脚本3.1 下载自动更新脚本目前GitHub上有几个可用的必应壁纸脚本我个人测试最稳定的是kkkgo维护的版本。下载方法如下wget --no-check-certificate -O /volume1/wallpaper/ChangeBing.sh https://raw.githubusercontent.com/kkkgo/DSM_Login_BingWallpaper/master/ChangeBing.sh如果遇到证书问题可以添加--no-check-certificate参数。下载完成后记得检查脚本内容cat /volume1/wallpaper/ChangeBing.sh确保没有异常内容后再继续。给脚本添加执行权限chmod x /volume1/wallpaper/ChangeBing.sh3.2 首次运行测试手动执行脚本测试功能是否正常/volume1/wallpaper/ChangeBing.sh执行完成后打开群晖登录页面按CtrlF5强制刷新应该就能看到新的必应壁纸了。如果没变化检查以下几点控制面板→主题样式→登录样式中是否已选择自定义背景个人设置→桌面中是否勾选了自定义壁纸查看/usr/syno/etc/login_background.jpg是否更新4. 设置crontab定时任务4.1 编辑crontab配置文件群晖的crontab配置文件位于/etc/crontab使用vim或nano编辑vim /etc/crontab在文件末尾添加以下内容表示每天7点自动更新壁纸0 7 * * * root /volume1/wallpaper/ChangeBing.sh时间格式可以按需调整比如想每天中午12点更新就改为0 12 * * * root /volume1/wallpaper/ChangeBing.sh4.2 重启cron服务使配置生效添加完定时任务后需要重启cron服务synoservice --restart crond验证服务状态synoservice --status crond应该看到crond is running的输出。5. 常见问题排查与解决5.1 脚本执行权限问题如果定时任务没有执行首先检查脚本权限ls -l /volume1/wallpaper/ChangeBing.sh确保有x执行权限。如果没有重新执行chmod x /volume1/wallpaper/ChangeBing.sh5.2 网络连接问题脚本需要访问必应服务器获取壁纸如果群晖处于内网且网络受限可能导致下载失败。测试网络连通性ping www.bing.com如果无法ping通需要检查群晖的网络设置或代理配置。5.3 开机自启问题部分用户反馈重启群晖后cron服务没有自动启动。解决方法是在/etc/rc文件中添加启动命令vim /etc/rc在exit 0之前添加synoservice --start crond保存后下次重启时cron服务就会自动启动了。6. 进阶配置与个性化6.1 保存历史壁纸默认脚本会覆盖之前的壁纸如果想保存历史记录可以修改脚本在下载新壁纸前先备份旧文件cp /usr/syno/etc/login_background.jpg /volume1/wallpaper/bing/bing_$(date %Y%m%d).jpg6.2 多台群晖同步壁纸如果你有多台群晖设备可以在主NAS上运行脚本然后通过rsync同步到其他设备rsync -avz /usr/syno/etc/login_background.jpg userother-nas:/usr/syno/etc/6.3 自定义壁纸源如果想使用其他壁纸源只需修改脚本中的下载URL。比如使用国家地理每日一图wget -O /usr/syno/etc/login_background.jpg https://example.com/ng-wallpaper.jpg记得测试新URL的稳定性和图片质量。

更多文章