检查网站上的文件是否在过去30天内

时间:2014-07-14 19:37:02

标签: bash date scripting

我正在检查Apple计算机上的XProtect文件是否是最新的。我已经找到了方法,检查他们网站上的.plist与包含此信息的本地.plist。但是,如果当前日期在Apple在线发布最新.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

谢谢。

1 个答案:

答案 0 :(得分:1)

if [ find /tmp/meta.plist -mtime -30 ]; then

find是一个外部命令,因此它不会被[ ]括起来。也许它应该是

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

&gt; / dev / null会抑制输出。