我编写了一个小型 bash 脚本,用于检查可用的最新稳定 Nextcloud 服务器版本并通知我
我希望脚本仅当服务器版本号改变时才使用“notify-send”命令通知我。
我的简单脚本:
#!/bin/bash
# The latest stable version of Nextcloud server in a variable
LatestStableVersion=$(curl -s https://nextcloud.com/install/ | grep 'Latest stable version:' | awk '{print $18}')
# Notify latest stable version of Nextcloud server
notify-send -u critical -t 12000 "Nextcloud" "New version available : $LatestStableVersion"
我只希望在“$LatestStableVersion”变量中的服务器版本号发生变化时收到通知。我想使用“while”循环。
您知道如何做到这一点吗?
谢谢
答案1
我测试了一个新想法并且我的 bash 脚本成功运行:
1 – 我在变量中获取了 Nextcloud 服务器的最新稳定版本
2 – 我将个人服务器上当前运行的版本存储在单独的文本文件中
3 – 脚本将最新版本与当前版本进行比较,如果它们不相同则通知我,并将当前版本更改为新版本(在文本文件中)。
cron 任务每分钟执行一次脚本。
我知道这很复杂,但它确实有效。
#!/bin/bash
# Get the latest stable version of Nextcloud server in a variable
LatestStableVersion=$(curl -s https://nextcloud.com/install/ | grep 'Latest stable version:' | awk '{print $18}')
# Source CurrentVersion text file
source /home/user/Scripts/nextcloud/CurrentVersion
# Notify if new version available
if [ "$CurrentVersion" != "$LatestStableVersion" ]
then
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
DISPLAY=:0 notify-send -u critical -t 0 "Nextcloud" "New version available : $LatestStableVersion"
echo -e "CurrentVersion=$LatestStableVersion" > /home/user/Scripts/nextcloud/CurrentVersion
fi
谢谢