2 laoshangcsdn laoshangcsdn 于 2017.01.10 09:58 提问

linux下清理find查出的log文件但不删除文件

下面这个语句是我删除 /all/log/admin/ 路径下含admin字符文件的语句,求大神告知如果admin开头的都是.log文件,我如何不删除log文件只是清理呢?提供一下语句,谢谢 !!!
find /all/log/admin/ -type f -name admin* -exec rm -rf{} \;

5个回答

u010528826
u010528826   2017.01.10 13:17
已采纳

find /all/log/admin/ -type f -name admin*.log -exec cp /dev/null {} \;

清空找到的文件

u010528826
u010528826 如过你正在对文件tail -f 的话是会报错,不过没影响的,重新tail -f就行了。如果对你有用采纳一下哈
一年多之前 回复
laoshangcsdn
laoshangcsdn 回复Mr-yao: 在测试环境上试了一下,可以了,谢谢!!! 搜了一下 cp /dev/null 其他博客说无法写入
一年多之前 回复
u010528826
u010528826 无法写入?有报错么?我平时清理服务器日志没遇到过无法写入啊
一年多之前 回复
laoshangcsdn
laoshangcsdn 好像用 cp /dev/null 就无法往里面 写数据了
一年多之前 回复
laoshangcsdn
laoshangcsdn 您好,如果我这个日志服务器现在还在往里写数据,使用 cp /dev/null 会不会影响呢
一年多之前 回复
engchina
engchina   Rxr 2017.01.10 10:19

没太理解你的”清理“是什么意思,能否举例说明下?

laoshangcsdn
laoshangcsdn 例如 echo> 可以清空log文件这种~
一年多之前 回复
laoshangcsdn
laoshangcsdn   2017.01.10 10:21

例如 echo> 可以清空log文件这种~

engchina
engchina   Rxr 2017.01.10 10:40

这个呢?

 echo "可以清空log文件" `find /all/log/admin/ -type f -name "admin*"`
engchina
engchina   Rxr 2017.01.10 10:46

补充

如果你要实现更复杂的功能,可以看看使用 find 和 xargs 一起使用,网上有很多实例。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
利用 find 和 crontab 命令清理过期文件
crontab: 在时间的八音盒上翩翩起舞 crontab 命令是 Linux 中用来设定重复执行命令或脚本的工具。它能够在指定的时间段内,按照需求以某一时间间隔执行命令或脚本。 crontab 的基本用法 1 2 crontab [-u ] [-e|-l|-r] crontab crontab 可以读入一个以 crontab 语法书写的文
shell定时清除过期日志文件
清除过期archive log;清除过期trace file
shell脚本:定期删除日志文件
服务器中产生的日志有时会占满硬盘空间,因此需要定时对其清除。下面写了个脚本,实现删除上一个月的日志。 1.代码#!/bin/bashyy=`date +%Y` #获取年 mm=`date +%m` #获取月,如果是9月,得到的是09;如果是10月得到的是10 #mm=1 #echo ${mm} if [ ${mm} -eq 1 ] #如果是1月份,其前一月是前一年的12月份 then
linux下清空日志文件
<br />Linux下用nohup运行程序的log默认写入nohup.out,resin也有数个log文件,往往会积累的很大,当程序在运行时又无法删除并重建log文件,否则以后log就不会写入新建的文件了。解决办法: cat /dev/null > target.log 可以清空log文件,如果想保留原文件可以先copy一份。
HP-UX 日志文件及清理
HP-UX中的常见日志 文件名 文件内容 监测方法 /etc/rc.log 启动日志 用读取文本文件的方法 /var/adm/syslog/syslog.log 一般系统日志(包括客户端的访问记录)   /v
Linux系统自动删除文件(web项目删除日志)
最近手上有一个项目,生成的日志贼快,基本每天都是1~2g,一般一个星期左右项目就打不开了,提示内存满了,然后就要去删,后来想总是这样一直删不行啊,然后就查资料发现可以让linux自己去定期帮我删 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ 
Windows 定时删除指定路径下N天前的日志文件
Windows 定时删除指定路径下N天前的日志文件Windows 下bat脚本文件的内容为1. 删除指定路径下5天前的所有文件. @echo off set SrcDir=E:\WORK\Git set DaysAgo=5 forfiles /p %SrcDir% /s /m *.*/d -%DaysAgo% /c "cmd /c del /f /q /a @path"2.删除指定路径下5天前的
Linux-使用 Find 命令找到那些需要清理的文件
概述有一个问题几乎困扰着所有的文件系统 – 包括 Unix 和其他的 – 那就是文件的不断积累。几乎没有人愿意花时间清理掉他们不再使用的文件和整理文件系统,结果,文件变得很混乱,很难找到有用的东西,要使它们运行良好、维护备份、易于管理,这将是一种持久的挑战。其中一种解决问题的方法是建议使用者将所有的数据碎屑创建一个文件集合的总结报告或”概况”,来报告诸如所有的文件数量;最老的,最新的,最大的文件;并
bat脚本批量删除日志文件
bat脚本批量删除日志文件
linux中find与rm实现查找并删除目录或文件
转载自:http://www.111cn.net/sys/linux/56674.htm在linux中find是查找搜索文件而rm是删除文件,下面我们来看一篇linux中find与rm实现查找并删除目录或文件的实例,希望文章对大家会有所帮助。删除指定目录下指定文件 find 要查找的目录名 -name .svn |xargs rm -rf 删除指定名称的文件或文件夹: find -type d