我有一个文件夹连接到硬件气象记录器。数据非常庞大,我只想保存最后5个小时的数据。但是,这个文件夹也有一些配置文件,如myconfig.ini。
如何设置一个自动服务来自动删除文件夹中的所有文件?
发布于 2010-11-01 15:36:09
向cron添加find命令对您有用吗?
find /path/ -type f -mtime +5 -name '*.log'你可以在额外的东西上找到你想要的文件。-mtype是日期限制部分,它查找5天前修改过的文件。您可以将其更改为只查看创建时间,甚至访问时间(如果您不在fs上使用noatime )
当您获得正确的文件时,只需将-exec rm {} \;放在末尾即可。您可以使用-delete,但是如果一次删除了太多的文件,它就会崩溃。一旦你确定了就这么做!
当您想要调度它时,su进入正确的用户帐户(拥有文件的人),然后运行crontab -e。然后,您可以写出该命令,当您退出时,它将按照您设置的计划运行。您可以在这里阅读更多关于cron的内容:
发布于 2010-11-01 15:25:53
您可以使用logrotate。默认情况下,它是安装的;请查看手册页以获得说明。
发布于 2010-11-01 15:27:48
这应该可以在最后一天内删除任何修改的内容。我建议把它放在日常工作中。在实现之前一定要进行测试..。请记住,由于它在修改日期之前对文件有效,所以它不是文件特定的(也就是说,如果您修改了myconfig.ini,下次它运行时它可能会杀死您的myconfig.ini )。
find /directory_path -type f -mtime -1 -exec rm{} \;这显然有一些缺点,但至少可能是一个好的开端。
https://askubuntu.com/questions/10742
复制相似问题