Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 修改atime以检查文件是否在过去24小时内被修改 #/bin/bash cd/home/pi/cc/UV读数 虽然是真的 做 ATIME=`stat-c%Z/home/pi/cc/uvreadings/uvreadings.log` 如果[[“$ATIME”_Linux_Bash - Fatal编程技术网

Linux 修改atime以检查文件是否在过去24小时内被修改 #/bin/bash cd/home/pi/cc/UV读数 虽然是真的 做 ATIME=`stat-c%Z/home/pi/cc/uvreadings/uvreadings.log` 如果[[“$ATIME”

Linux 修改atime以检查文件是否在过去24小时内被修改 #/bin/bash cd/home/pi/cc/UV读数 虽然是真的 做 ATIME=`stat-c%Z/home/pi/cc/uvreadings/uvreadings.log` 如果[[“$ATIME”,linux,bash,Linux,Bash,我试图通过比较atime和Ltime来检查文件是否在过去24小时内被修改 时间总是比时间短 那么我可以修改这个语句吗 #!/bin/bash cd /home/pi/cc/uvreadings while true do ATIME=`stat -c %Z /home/pi/cc/uvreadings/uvreadings.log` if [[ "$ATIME" < "$LTIME" ]] then echo "log file not updated

我试图通过比较atime和Ltime来检查文件是否在过去24小时内被修改

时间总是比时间短

那么我可以修改这个语句吗

#!/bin/bash

cd /home/pi/cc/uvreadings

while true
do
   ATIME=`stat -c %Z /home/pi/cc/uvreadings/uvreadings.log`

   if [[ "$ATIME" < "$LTIME" ]]
   then
       echo "log file not updated for +24 hours"
   else
       echo "log file WAS updated in last +24 hours"
   fi

   sleep 10
done
if[[“$ATIME”<“$LTIME”]]

如果[[“$ATIME+1天”<“$LTIME”]]`
当然,这是实现这一目标的更好方法

谢谢你的建议首先,文件中至少有,你似乎把它们弄混了。在谈到atime时,
%Z
选项会为您提供ctime,听起来您想要的实际上是mtime:文件内容上次更改的时间。您可以使用
stat-c%Y
获取mtime

要想知道这是否是不到一天以前的事,你确实可以加上一天;但是时间是以秒为单位的,因此需要添加
24*60*60
seconds。最简单的方法可能是使用。它可能看起来像这样:

if [[ "$ATIME +1 day" < "$LTIME" ]]`
我假设您编写代码是为了获取当前时间并将其存储在
LTIME
中,即使您在问题中没有显示该代码。当然,它必须进入循环内部。一种方法是

if [[ $((MTIME + (24 * 60 * 60))) > $LTIME ]] # modified in the last day

什么是
ltime
?您可能需要处理您的格式设置…时间是覆盆子皮都上的本地时间这里的指针有帮助吗?pi上是否存在
find
?选项
-mtime
就可以了。是的,上面显示的链接有答案。谢谢你提供的信息。谢谢你的解释,非常有用,信息丰富,现在在上面所有评论的帮助下运行。再次感谢
if [[ $((MTIME + (24 * 60 * 60))) > $LTIME ]] # modified in the last day
LTIME=`date +%s`