(linux -mtime)-冯金伟博客园

linux下磁盘占用满了?

Linux系统可以通过命令行查找和删除多余文件的方式来清理磁盘,具体方法如下: 

1、linux下查找大于10M的文件

find.-typef-size+10000k

2、删除所有空目录

find/data-typed-empty-execrm-rf{};

3、linux下批量删除空文件(大小等于0的文件)的方法

find/data-typef-size0c-execrm-rf{};

find/data-typef-size0c|xargsrm–f

4、删除五天前的文件

find/data-mtime+5-typef-execrm-rf{};

Linux下查找指定时间内修改过的文件?

1、grep命令 (global search regular expression(RE) and print out the line, 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。对于文件时间特征没有直接的参数可以使用。2、根据文件时间特征来搜索特定文件,一般使用find命令。find命令和文件时间特征相关的参数如下:-mtime -n +n按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。-amin n查找系统中最后N分钟访问的文件-atime n查找系统中最后n*24小时访问的文件-cmin n查找系统中最后N分钟被改变文件状态的文件-ctime n查找系统中最后n*24小时被改变文件状态的文件-mmin n查找系统中最后N分钟被改变文件数据的文件-mtime n查找系统中最后n*24小时被改变文件数据的文件示例:(1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)(2)find / -atime -2   # 查找在系统中最后48小时访问的文件(3)find / -mmin -5    # 查找在系统中最后5分钟里修改过的文件(modify time)(4)find / -mtime -1   #查找在系统中最后24小时里修改过的文件

归档日志不在默认的闪回区,用RMAN怎么删除?

  如何正确地删除Archivelog:  Archivelog并不能直接得从OS层直接物理删除,因为archivelog的相关信息是记录在controlfile中的,当物理删除后不会改变controlfile的设置。并且在查询相关的动态视图(例如v$archived_log)时,该部分日志仍然标注为存在。也就是说Oracle并不认为这些日志被删除了,所以在删除archivelog的时候,需要我们在其他地方做一些设置。  一、使用RMAN清楚物理删除后的记录  可以使用RMAN来删除archivelog,具体可以按以下步骤操作:  1、物理删除archivelog  2、进入RMAN  3、crosscheck archivelog all;  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  RMAN> run  {  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并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法:  1. 进入rman  2. connect target /  3. crosscheck archivelog all;  4. delete expired archivelog all;  这时候我们再去OEM中看就一定看不到,如果你的从来没有做过这个动作的话,我们可以比较从这个动作前的controlfile后动作后的controlfile的大小!  ORACLE正确删除归档并回收空间的方法  ORACLE正确删除归档并回收空间的方法  一个ORACLE归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和FLASHBACK,不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。  删除归档日志的过程  以ORACLE用户身份登录到数据库服务器主机或通过网络连接  进入ORACLE数据备份工具  rman target/  或rman target/@orcl  在命令窗口里面执行  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里留下未管理的归档文件  仍需要在RMAN里执行下面2条命令  crosscheck archivelog all;  delete expired archivelog all;  所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能  3.简要介绍一下report obsolete命令  使用report obsolete命令报告过期备份

linux远程传送文件或文件夹的命令?

1. scp命令

scp语法

scp 源文件 目标IP@目录

scp用法举例:

eg1:将/tmp/test.log文件传送到172.10.1.2服务器的/tmp目录下

scp /tmp/test.log root@172.10.1.2:/tmp

eg2:将/data/test目录传送到172.10.1.2服务器的/tmp目录下

scp -r /data/test root@172.10.1.2:/tmp

2. rsync命令

rsync语法:

rsync 源文件 目标IP@目录

选项参数:

-v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息。

-P:显示文件传输的进度信息。(实际上"-P"="–partial –progress",其中的"–progress"才是显示进度信息的)。

-n –dry-run:仅测试传输,而不实际传输。常和"-vvvv"配合使用来查看rsync是如何工作的。

-a –archive:归档模式,表示递归传输并保持文件属性。等同于"-rtopgDl"。

-r –recursive:递归到目录中去。

-t –times:保持mtime属性。强烈建议任何时候都加上"-t",否则目标文件mtime会设置为系统时间。

-o –owner:保持owner属性(属主)。

-g –group:保持group属性(属组)。

-p –perms:保持perms属性(权限,不包括特殊权限)。

-D:是"–device –specials"选项的组合,即也拷贝设备文件和特殊文件。

-l –links:如果文件是软链接文件,则拷贝软链接本身而非软链接所指向的对象。

-z:传输时进行压缩提高效率。

-R –relative:使用相对路径。意味着将命令行中指定的全路径而非路径最尾部的文件名发送给服务端,包括它们的属性。用法见下文示例。

–size-only:默认算法是检查文件大小和mtime不同的文件,使用此选项将只检查文件大小。

-u –update:仅在源mtime比目标已存在文件的mtime新时才拷贝。注意,该选项是接收端判断的,不会影响删除行为。

-d –dirs:以不递归的方式拷贝目录本身。默认递归时,如果源为"dir1/file1",则不会拷贝dir1目录,使用该选项将拷贝dir1但不拷贝file1。

–max-size:限制rsync传输的最大文件大小。可以使用单位后缀,还可以是一个小数值(例如:"–max-size=1.5m")

–min-size:限制rsync传输的最小文件大小。这可以用于禁止传输小文件或那些垃圾文件。

–exclude:指定排除规则来排除不需要传输的文件。

–delete:以SRC为主,对DEST进行同步。多则删之,少则补之。注意"–delete"是在接收端执行的,所以它是在exclude/include规则生效之后才执行的。

-b –backup:对目标上已存在的文件做一个备份,备份的文件名后默认使用"~"做后缀。

–backup-dir:指定备份文件的保存路径。不指定时默认和待备份文件保存在同一目录下。

-e:指定所要使用的远程shell程序,默认为ssh。

–port:连接daemon时使用的端口号,默认为873端口。

–password-file:daemon模式时的密码文件,可以从中读取密码实现非交互式。注意,这不是远程shell认证的密码,而是rsync模块认证的密码。

-W –whole-file:rsync将不再使用增量传输,而是全量传输。在网络带宽高于磁盘带宽时,该选项比增量传输更高效。

–existing:要求只更新目标端已存在的文件,目标端还不存在的文件不传输。注意,使用相对路径时如果上层目录不存在也不会传输。

–ignore-existing:要求只更新目标端不存在的文件。和"–existing"结合使用有特殊功能,见下文示例。

–remove-source-files:要求删除源端已经成功传输的文件。

rsync用法举例:

eg:将/tmp/test.log文件传送到172.10.1.2服务器的/tmp目录下

rsync -av /tmp/test.log root@

find /root在linux中的意义?

find命令在linux中的意义:

find命令选项:

-name  按照文件名查找文件。  “名称”

-perm  按照文件权限来查找文件。666 777 等

-user  按照文件属主来查找文件

-group  按照文件所属的组来查找文件

-mtime  -n  / +n  按照文件的更改时间来查找文件,

 – n 表示文件更改时间距现在n天以内

 + n 表示文件更改时间距现在n天以前

-type  查找某一类型的文件

b – 块设备文件

d – 目录

c – 字符设备文件

p – 管道文件

l- 符号链接文件

f – 普通文件

-size n  查找符合指定的文件大小的文件

-exec    对匹配的文件执行该参数所给出的其他linux命令, 相应命令的形式为' 命令 {} ;,注意{ }和 ;之间的空格,{}代表查到的内容