linux find命令查找当前目录下7天前的文件但排除所有目录
发布时间:2025-05-18 09:28:28 发布人:远客网络
一、linux find命令查找当前目录下7天前的文件但排除所有目录
1、从当前目录下,查找所有的非目录文件
2、如果需要查找n天前的文件,在linux下,文件时间有三个,访问时间、修改时间、状态改动时间:
3、atime,为accesstime的缩写,显示的是文件中的数据最后被访问的时间,比如被系统的进程直接使用或者通过一些命令和脚本间接使用。(执行一些可执行文件、脚本)
4、mtime,为modifytime的缩写,显示的是文件的内容被改变时的最后时间,比如用vi编辑时就会改变。(也就是Block的内容)
5、ctime,为changetime的缩写,显示的是文件的权限,拥有者,所属的组,链接数发生改变时的时间。当然当内容改变时,也会改变。(也就是Inode内容发生改变和Block内容发生改变时)
6、find命令中,相对应的查询命令为:
7、-atime n按天查,注意是精确到当前时间点
8、 File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match-atime+1, a file has to have been accessed at least two days ago.
9、 File's status was last changed n minutes ago.按分钟查
10、-mtime n按天查,注意是精确到当前时间点
11、 File's data was last modified n*24 hours ago. See the comments for-atime to understand how rounding affects the interpretation of file modification times.
12、如,查询7天前,文件内容发生变化的语句为:
二、linux删除日志文件linux日志文件删除
linux下哪些oracle数据可以删除?
1是归档日志,可以删除一些过期的2是dump日志,很多的,bdump,cdump等,全部删除3是audit日志,很多的,rdbms/audit下,全部删除4是listener日志,/network/log下,越久越大,可以清空
linux的/var/log/secure文件可以删除吗?
最好别删,它是记录ssh登陆服务器的日志文件,里面有登陆服务器的信息,比如IP,用户名,是否登陆成功等,还是非常有用的。如果太大了,可以清空它:echo"">/var/log/secure
这个是日志文件,可以删除,只是如果有新的日志产生,他还是会被创建出来的
linux下怎么删除tomcat日志命令?
服务器上的tomcat的catalina.out文件越来越大,查看起来很不方便,以前每次都是想起来的时候手工清理一下(cat/dev/null>catalina.out),后来发现了logratate这个工具,Ubuntu下的mysql,nginx好像也是用的这个工具还定期整理log的。配置文件为/etc/logrotate.conf,和很多其它ubuntu下的工具一下,也可以把配置文件写在/etc/logrotate.d/下面。如对我们的tomcat的log文件进行整理,sudovi/etc/logrotate.d/tomcat,/opt/tomcat/logs/catalina.out{rotate14dailycopytruncatecompressnotifemptymissingok}其中:rotate7表示保留7天的备份文件daily表示每天整理一次copytruncate表示先复制log文件的内容,然后再清空compress表示压缩备分文件missingok表示如果找不到log文件也没OKnotifempty表示如果log文件是空的,就不进行rotate可以通过/usr/sbin/logrotate-f/etc/logrotate.conf来执行。Ubuntu有/etc/cron.daily/logrotate文件,内容为:#!/bin/shtest-x/usr/sbin/logrotate||exit0/usr/sbin/logrotate/etc/logrotate.conf表示每天会定时执行一次这个命令通过ntp同步服务器的时间根据Ubuntu的文档有两种方式可以用来使服务器的时间和ntpserver同步。一种是通过ntpdate命令,如ntpdatentp.Ubuntu.com然后在/etc/cron.daily/下新建一个文件来每天执行一次这个命令另一种是通过ntpd来更新。sudoapt-getinstallntp。配置文件/etc/ntp.conf,可以通过修改配置文件为改变ntpserver,我们用的是210.72.145.44这个server对于Linux的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate程序用来管理系统中的最新的事件,对于Linux的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate程序用来管理系统中的最新的事件。logrotate还可以用来备份日志文件,本篇将通过以下几部分来介绍日志文件的管理:1、logrotate配置2、缺省配置logrotate3、使用include选项读取其他配置文件4、使用include选项覆盖缺省配置5、为指定的文件配置转储参数一、logrotate配置logrotate程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过cron程序来执行。logrotate程序还可以用于压缩日志文件,以及发送日志到指定的E-mail。logrotate的配置文件是/etc/logrotate.conf。主要参数如下表:参数功能compress通过gzip压缩转储以后的日志nocompress不需要压缩时,用这个参数copytruncate用于还在打开中的日志文件,把当前日志备份并截断nocopytruncate备份日志文件但是不截断createmodeownergroup转储文件,使用指定的文件模式创建新的日志文件nocreate不建立新的日志文件delaycompress和compress一起使用时,转储的日志文件到下一次转储时才压缩nodelaycompress覆盖delaycompress选项,转储同时压缩。errorsaddress专储时的错误信息发送到指定的Email地址ifempty即使是空文件也转储,这个是logrotate的缺省选项。notifempty如果是空文件的话,不转储mailaddress把转储的日志文件发送到指定的E-mail地址nomail转储时不发送日志文件olddirdirectory转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统noolddir转储后的日志文件和当前日志文件放在同一个目录下prerotate/endscript在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行postrotate/endscript在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行daily指定转储周期为每天weekly指定转储周期为每周monthly指定转储周期为每月rotatecount指定日志文件删除之前转储的次数,0指没有备份,5指保留5个备份tabootextlist让logrotate不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig,.rpmsave,v,和~sizesize当日志文件到达指定的大小时才转储,Size可以指定bytes(缺省)以及KB(sizek)或者MB(sizem).
linux系统做备份时太大可以将一些临时目录下的无用文件删除,以及一些无用日志文件删除。
三、rman怎样删除15天前的归档
Archivelog并不能直接得从OS层直接物理删除,因为archivelog的相关信息是记录在controlfile中的,当物理删除后不会改变controlfile的设置。并且在查询相关的动态视图(例如v$archived_log)时,该部分日志仍然标注为存在。也就是说Oracle并不认为这些日志被删除了,所以在删除archivelog的时候,需要我们在其他地方做一些设置。
一、使用RMAN清楚物理删除后的记录
可以使用RMAN来删除archivelog,具体可以按以下步骤操作:
4、delete expried archivelog all;
这样就在一些Oracle的记录中查不到相应的archivelog记录了。
二、直接使用RMAN删除archivelog
其实在RMAN中是可以使用命令直接将ARCHIVELOG删除的,命令如下:
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE'SYSDATE-7';
表示删除7天以前的所有archivelog,但是这个命令的缺点是无法对archivelog进行细致的划分。
三、使用RMAN备份achivelog后删除
这是一种最为稳妥的方法了,使用RMAN备份archivelog,备份后全部删除
backup format'/u01/arch_%T_%s_%U' archivelog all delete input;
backup database plus archivelog;
注:我在库上设置了Streams后,使用RMAN删除archivelog会导致报错RMAN-08137: WARNING:
archive log not deleted as it is still needed.不知道该如何解决,据说是10.2的一个bug,如果真
是bug的话,那只能在OS层设置删除,或用RMAN进行强制删除了。
10g之后的版本,Oracle在RMAN中内置增加了一项归档文件的删除策略,终于,DBA可以仅通过一项配置就
解决该问题了。该策略对应两个值:
APPLIED ON STANDBY:设置为该值时,当通过附加的DELETE INPUT子句删除Standby数据库仍需要的日志
时,会提示RMAN-08137错误。不过用户仍然可以手动地通过DELETE ARCHIVELOG方式删除。
NONE:设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。
例如,启用APPLIED ON STANDBY:
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters are successfully stored
backup archivelog all delete input format'ZHSVR044_%d_set=%s_piece=%p_date=%T.ARC.rmn';
都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的
controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法:
4. delete expired archivelog all;
这时候我们再去OEM中看就一定看不到,如果你的从来没有做过这个动作的话,我们可以比较从这个动作前的controlfile后动作后的controlfile的大小!
ORACLE正确删除归档并回收空间的方法
ORACLE正确删除归档并回收空间的方法
一个ORACLE归档日志经常满,表现为/oraarchive这个文件空间占用100%大家一定抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和FLASHBACK,不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。
以ORACLE用户身份登录到数据库服务器主机或通过网络连接
DELETE ARCHIVELOG ALL COMPLETED BEFORE'SYSDATE-7';
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG FROM TIME'SYSDATE-7';
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find/oraarchive-xdev-mtime+7-name"*.dbf"-exec rm-f{};
这样做仍然会在RMAN里留下未管理的归档文件
delete expired archivelog all;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能
3.简要介绍一下report obsolete命令
使用report obsolete命令报告过期备份