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