我在我的linux机器上运行某种类型的服务器,我使用简单的bash脚本每3天删除一次文件,每7天删除一些文件。我使用that.But命令进行查找,我的文件会定期保存,这意味着最后一次修改日期就是当天。所以文件永远不会被删除。只在第一次对我有效,因为它符合条件。我找不到使用创建日期而不是修改日期来删除这些文件的方法。
下面是我的简单脚本:
#!/bin/sh    
while true    
do    
java -server file.jar nogui    
echo ">$(tput setaf 3)STARTING REBOOT$(tput sgr0) $(tput setaf 7)(Ctrl+C To Stop!)$(tput sgr0)"    
find /folder/* -mtime +7 -exec rm -rf {} \;    
find /folder/* -mtime +3 -exec rm -rf {} \;    
find /logs/* -mtime +1 -exec rm -rf {} \;    
echo ">Rebooting in:"    
for i in 5 4 3 2 1    
do    
echo ">$i..."    
sleep 1    
done    
done       如果有人能帮我这个忙,我会非常感激的!
发布于 2016-11-16 05:17:39
如果您使用的是ext4文件系统,那么还有一些希望。您可以使用stat和debugfs实用程序检索它。ext4使用inode表条目i_crtime存储创建时间,该条目是每个文档的“文件创建时间,自纪元以来的秒数”。参考Link。
https://stackoverflow.com/questions/40619528
复制相似问题