【发布时间】:2014-05-19 16:00:53
【问题描述】:
我已经编写了下一个脚本来查找锁定文件的年龄:
#!/bin/bash
now=`date +"%T"`
lock="aggregator.lock"
find . -name $lock -type f
if [ $? != 0 ];
then
exit
else
ls -ltrh $lock 2&>/dev/null
fi
if [ $? != 0 ];
then
locktime=`ls -ltrh aggregator.lock |awk -F" " '{print $7}'`
else
echo "File not found"
fi
我有两个问题:
-
ls -ltrh aggregator.lock |awk -F" " '{print $7}'的输出 以 HH:MM 格式而不是 HH:MM:SS 格式给我时间和输出date +"%T"以 HH:MM:SS 格式给我时间(根据需要),所以 如何以秒为单位获取文件的修改时间? - 我不知道如何在时间之间进行减法...我想做类似
$now - $locktime的操作,以便获得两个变量之间的秒数增量,怎么做?
编辑: 脚本的意思是查找锁定文件存在多长时间... 有这个脚本:
device0="/home/build/aggregator/scripts/aggregator.lock"
if [ -e "$device0" ]
then
echo process is allready running
else
touch $device0
java -Xms6g -Xmx6g -jar /home/build/aggregator/aggregator-1.0-SNAPSHOT-jar-with-dependencies.jar
rm $device0
fi
创建锁定文件...创建锁定文件的唯一目的是告诉我脚本的运行时间有多长,只是认为也需要此信息,因为我不是查找自上次修改文件以来经过了多长时间。
提前致谢
【问题讨论】:
-
我根据您的编辑编辑了我的答案。 HTH。