帮忙写一个SHELL脚本,linux定时删除用的

这的再这个路径下面
比如:/xxx/xxxxx/xxx/MSS013/2013/9/5/TRETERTRETERT.LOG
我想把这个路径下面的这个只保存3天左右的数据
但比如这/xxx/xxxxxx/xxx/有很多这样的MSS文件 不一定是MSS013,也有可能是其他任何文件
这怎么写这个SHELL脚

如果删除/xxx/xxxxxx/xxx/下 3天以前的 所有内容:

find /xxx/xxxxx/xxx/* -mtime +3 -exec rm -rf {} \;

如果删除/xxx/xxxxxx/xxx/下 3天以前的 所有文件(不包含目录):

find /xxx/xxxxx/xxx/* -type f -mtime +3 -exec rm -rf {} \;

如果不删除MSS目录 只删除MSS内的所有  3天以前的 文件:

find /xxx/xxxxx/xxx/MSS[0-9]*/* -type f -mtime +3 -exec rm -rf {} \;

如果不删除MSS目录 但MSS下所有  3天以前的 目录及文件全删除:

find /xxx/xxxxx/xxx/MSS[0-9]*/* -mtime +3 -exec rm -rf {} \;

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-23
find /xxx/xxxxx/xxx -mtime +3 -exec rm -rf {} +

然后设定一个cron任务来定时执行这个命令就好了, 如果cron你不知道怎么用呢, 参照下面:

第一步, 运行命令crontab -e, 这时候出现个vi的编辑界面. 

第二部, 在那个编辑界面输入下面的内容

0 0 * * * find .........................

第三部, 保存, 退出就可以了. 

第2个回答  2013-09-23
首先你的确保这个(/xxx/xxxxx/xxx/MSS013/2013/9/5/TRETERTRETERT.LOG
)中(/xxx/xxxxx/xxx/)文件夹中的数据都是可以删除的,别有其他类型的数据。
写一个脚本rm_file.sh 内部文件内容:
find /xxx/xxxxx/xxx/ -mtime +3 –exec rm –f {} \;

保存即可。
------------------------------------------------------------
建议:使用之前先测试一下。这个根据你的实际情况作修改也是很快的。
注意 命令中“+3” 代表超过三天的数据
相似回答