linux删除之前的文件日志

linux下每天都在产生LOG日志文件,如果不定期删除,迟早挤爆硬盘,如果手动删除,几次可以,不是长久之计。这些事交给Linux系统就可以解决。

试验环境:

系统:CentOS 6.5 x64

测试路径、测试文件名、测试时间(2017-06-05)

执行命令:

# find /root/Text -mtime +3 -name "log.*" -exec rm -f {} \;

命令解释:

find     查找命令

/root/Text  查找路径

-mtime     文件最后修改时间

+3      3天前(或理解成从命令执行当前日期开始,当天不算,保留3个文件)

-name    查询方式为查询文件名

"log.*"    查找log开头后面为任意长度字符的文件(不明白可以找“正则表达式”教程看看)

-exec     固定写法

rm -f    符合条件的执行删除并不提示

{}      固定写法,注意左右有空格

\;      固定写法,注意左右有空格

-mtime说明一下,Linux中的文件的时间属性只有三个:

atime(Access time)    文件最后访问时间。

mtime(Modified time)    文件最后修改时间。

ctime(Change time)    文件最后修改权限时间。(比如执行过chmod)

用stat命令来看看文件详细信息,find会找到文件的Modified时间作为参数。

# stat log.2017-06-01

有人注意到,文件名是06-01,但是显示时间是06-05,怎么回事。因为可以用"touch -d"命令来修改Modified,现在将文件修改回原来日期06-01。

# touch -d "21:55 06/01/2017" log.2017-06-01
或
# touch -d 06/01/2017 log.2017-06-01

上面命令第一个是时间和日期都修改,下面那个是只修改日期。

另外也可以单独修改时间或者月份,如下

以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。

touch -d "6:03pm" file 
touch -d "05/06/2000" file 
touch -d "6:03pm 05/06/2000" file
touch -d "2017-05-31 08:10:30" test.doc    同时修改文件的修改时间和访问时间
touch -m -d "2017-05-31 08:10:30" test.doc   只修改文件的修改时间
touch -a -d "2017-05-31 08:10:30" test.doc   只修改文件的访问时间

上面find命令,写好了我们加入系统自动执行。命令:

# crontab -e

打开后和操作vi编辑软件一样(因为crontab默认就是用vi来编辑的)

# crontab -l

列出内容,定义凌晨2点执行。

参考文章:

http://blog.csdn.net/maqingli20/article/details/7195408

https://zhidao.baidu.com/question/342860050.html

http://www.linuxidc.com/Linux/2015-11/124813.htm

http://www.2cto.com/os/201203/122934.html

时间: 2024-12-17 18:31:08

linux删除之前的文件日志的相关文章

linux删除包含特殊字符文件

通过删除inode节点删除文件 ls -i查看文件inode节点 find -inum XXX  |xargs -I {} rm {} linux删除包含特殊字符文件,布布扣,bubuko.com

linux删除不了文件, 修改文件属性也删除不了的一个解决思路

场景: 公司要求卸载软件时, 也包含卸载一个目录下的所有文件. 于是去修改删除文件的shell脚本, 添加了删除文件及文件夹的命令(当然是在root权限下的) 如: rm -rf /home/vito/**** 但发现运行shell脚本时, 死活删除不了那个目录下的文件, 当然也就删除不了目录, 同时提示----rm: cannot remove '/home/vito/****/xxx.xxx': Permission denied. 在网上查了一下, 说这种情况下, 一般都是该文件被设置了一

linux删除某类型文件的命令

使用linux命令行,删除某目录下某类型的文件,如:删除.rar结尾的所有文件. 命令如下: find . -name "*.rar" -type f -print -exec rm -rf {} \; 说明:命令中出现的 *.rar替换成你想删除的类型即可.

Linux删除除了某些文件之外的所有文件(夹)

例如:删除当前目录下除了.tar.gz和.py结尾的其他文件 shopt -s extglob rm -rf !(*.py|*.tar.gz)

Linux文件保护禁止修改、删除、移动文件等,使用chattr +i保护

不让用户修改.删除文件等,使用 chattr保护 chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files… 最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的 属性. + :在原有参数设定基础上,追加参数. - :在原有参数设定基础上,移除参数. = :更新为指定参数设定. A:文件或目录的 atime (access time)不可被修改(modified),

linux自动删除n天前日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

linux 删除文件深入了解及任务定时--Linux的闹钟

1. linux 删除一个文件的权限要看文件所在的目录的权限 删除文件需要对对这个目录拥有w权限 修改文件 查看文件的内容需要对文件有rw权限 删除 创建一个文件 需要对文件坐在地目录拥有wx权限2. chattr 添加隐藏文件 lsattr 查看隐藏权限 append 追加权限 只能追加 i 不可毁灭的 无法修改无法删除 对于系统的一些需要保护的文件可以添加 eg:/etc/inittab /etc/passwd /etc/shadow 3. suid 运行莫一个命令的时候相当于root 加特

linux系列之-—04 自动删除n天前日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

Linux 删除带有特殊字符的文件

首先 做好备份, 脚本语句在测试环境下 测试一遍.. 通过文件的inode号删除文件 先用ls -i 找出要删除文件的inode 号 ls -i |grep xxxxxx|awk '{print $2}'|xargs -i rm -f {} xxxxxx为文件的 inode 号 通过文件大小删除文件 1.删除当前目录以及所有子目录下的文件大小为零的文件 find ./ -size 0 -exec rm {} \; 2.删除当前目录下文件大小为零的文件(子目录不删除) #/bin/bash for