Bash 检查网站上的文件是否在最近30天内

Bash 检查网站上的文件是否在最近30天内,bash,date,scripting,Bash,Date,Scripting,我正在检查苹果电脑上的XProtect文件是否是最新的。我已经了解了检查他们网站上的.plist与包含此信息的本地.plist的方法。不过,如果当前日期在苹果发布最新的.plist的最后30天内,我们现在希望允许用户继续。我一直在试图找出如何将在线发布的日期与当地时间进行比较,以及在线版本是否在过去30天内允许脚本继续 curl -sL http://google.com -o /dev/null if [[ $? == 0 ]]; then URL=http://configurati

我正在检查苹果电脑上的XProtect文件是否是最新的。我已经了解了检查他们网站上的.plist与包含此信息的本地.plist的方法。不过,如果当前日期在苹果发布最新的.plist的最后30天内,我们现在希望允许用户继续。我一直在试图找出如何将在线发布的日期与当地时间进行比较,以及在线版本是否在过去30天内允许脚本继续

curl -sL http://google.com -o /dev/null
if [[ $? == 0 ]]; then
    URL=http://configuration.apple.com/configurations/macosx/xprotect/3/clientConfiguration.plist
    curl -s $URL | awk '/\<\?xml/{i++}i' > /tmp/meta.plist
    urlresult=$(/usr/libexec/PlistBuddy -c "Print :meta:Version" "/tmp/meta.plist")
    locresult=$(defaults read /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta Version)
    if [ find /tmp/meta.plist -mtime -30 ]; then
        xpresult="Within 30 days"
    else
        if [ "$urlresult" == "$locresult" ]; then
            xpresult="Up to date"
        else
            xpresult="out of date"
        fi
    fi
fi
curl-sLhttp://google.com -o/dev/null
如果[[$?==0]];然后
网址=http://configuration.apple.com/configurations/macosx/xprotect/3/clientConfiguration.plist
curl-s$URL | awk'/\
find
是一个外部命令,因此它不能包含在
[]
周围。也许应该是这样

if find /tmp/meta.plist -mtime -30 >/dev/null; then

>/dev/null会抑制输出。

比较部分是正确的,谢谢,但是有没有办法让我查看要比较的文件的
$URL
?当我尝试时,它告诉我找不到文件?对不起,我不明白。你能详细说明一下吗?当然,我实际上是想看看在变量
URL
上发布的信息是否在过去30天内得到了更新。所以我想看看文件是否位于
http://configuration.apple.com/configurations/macosx/xprotect/3/clientConfiguration.plist
从今天起30天内发布。这相当复杂,可能取决于服务器的实现。对不起,我想我帮不了你。也许你可以问另一个关于如何完成这项特定任务的问题。没问题,谢谢你的帮助!日期检查非常有效!
if find /tmp/meta.plist -mtime -30 >/dev/null; then