Linux脚本在上次修改文件夹时以秒为单位获取时间

时间:2011-04-05 14:21:25

标签: linux bash time directory

我需要一个linux bash脚本来了解修改特定文件夹的时间(以秒为单位)。 有人可以帮帮我吗?

下面的当前脚本是获取当前时间戳和上次修改文件夹的时间,但我不知道如何继续。

[root@cgf01 log]# more CheckLastCdr.sh 
#get current timestamp
current_time=`date` 

#get last CDR timestamp
last_cdr_time=`find /tmp/log/ -exec stat \{} --printf="%y\n" \; | sort -n -r | head -1`


echo $current_time
echo $last_cdr_time

当我运行此脚本时,我得到以下内容:

[root@cgf01 log]# ./CheckLastCdr.sh 
./CheckLastCdr.sh: line 6: 2011-04-05: command not found
Tue Apr 5 16:19:31 CEST 2011
2011-04-05 16:14:33.000000000 +0200

提前致谢

3 个答案:

答案 0 :(得分:2)

如果你想要秒数:

echo $[$(date +%s)-$(stat --printf "%Y" /tmp/log)]

答案 1 :(得分:1)

您不必使用find来获取此信息。你可以这样使用stat

stat --printf=%Y dirname

答案 2 :(得分:0)

变化:

find /tmp/log/ -exec stat \{} --printf="%y\n"

为:

find /tmp/log/ -exec stat \{} --printf="%T@\n"