我在这里想要实现的目标是:
我有一个 Apache 网站,我想在该网站上显示类似
Latest website update: 01/12/2011 at 6h32 AM
我有一个想法。我可以编写一个每小时检查一次最新修改文件的日期的脚本。/var/www.然后将该值存储在文件或数据库中,以便快速访问。
我该如何做呢?如果您有更好的想法,请与我分享。
答案1
这给出了您在问题中要求的确切输出:
echo "Latest website update: $(date -d @$(find /var/www -type f -exec stat -c%Z {} \; | sort | tail -1) "+%d/%m/%Y at %lh%M %p")"
网站最新更新:2011 年 2 月 12 日 晚上 8 点 55 分
这是一个有趣的单行代码,但我不建议使用它。它可能会很慢。
答案2
$lastupdated = `ls -ltr <directory> | tail -n 1`
需要在线上做一些剪切,但基本上这是您最后更新的文件+日期。
答案3
也许使用 GNU stat 的输出会有所帮助。stat -x /var/www
答案4
您是否在寻找及以下给定的目录?
对于一个目录,@Flash 的答案很好用。(虽然ls -lt /var/www | head -n 2 | cut -c40-53
速度稍快一些,但\n
结果中多了一个额外的代价)
对于整个目录树,你可以使用变体
`find /var/www -type f -printf '%T@\t%TH:%TM on %Tx\t%p\n' | sort -k1 -n | cut -f 2 | head -n 1`