linux的时间属性

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6





最近写打包备份文件log的命令,研究了一下时间属性的的含义。做个记录。


Linux系统文件有三个主要的时间属性,分别是

ctime(change time, 而不是create time)

atime(access time), mtime(modify time)。后来为了解决atime的性能问题,还引入了一个relatime的属性。。

ctime, 很多朋友把它理解成create time,包括很多误导人的书籍也是这么写。实际上ctime是指change time。

mtime, 就是modify time。

mtime和ctime的区别在于,只有修改了文件的内容,才会更新文件的mtime,而对文件更名,修改文件的属主等操作,只会更新ctime。


举例说明: 对文件进行mv操作,mtime不变,ctime更新;编辑文件内容,mtime和ctime同时修改。其他操作的影响,可以自己试验。但是我发现对文件执行touch操作,会同时修改mtime和ctime,所以具体修改哪个时间,还取决于不同命令自己的实现;

atime, 这个就是每次查看文件内容的时候会更新。比如cat操作,而ls操作是不会更新的。

通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:

ls -lc filename 列出文件的 ctime

ls -lu filename 列出文件的 atime

ls -l filename 列出文件的 mtime

-mtime 后带参数的解释
 +1 内表示 1 * 24 +24小时以外..
 +0 才表示 0 * 24 +24小时以外
1 表示 1*24 + 24 到 24 之间..
0 表示 0*24 + 24 到 0 之间..
-1 表示 0*24 +24 内,甚至为未来时间...


# crontab -e

* 1 * * * cd /opt/logs/mns/app/ && find -name "mns-web.log.*" -mtime 0 -exec tar -zcvf {}.tar.gz {} --remove-files \;


打包当前日期前24小时内的log文件。打包压缩完成后,并删除源文件。



阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux