linux删除日志文件命令(LINUX下,清除日志的脚本帮帮忙)
本文目录
- LINUX下,清除日志的脚本帮帮忙
- linux如何清除kern.log
- Linux定时删除日志文件/文件夹
- linux日志清理脚本清理不掉
- linux日志清理
- linux哪些日志文件可以删除
- Linux系统用什么命令进入你想进的文件夹 怎么删除文件文件夹中的日志文件
- linux定时清理nohup命令下产生的日志
- linux使用tail查看日志后自动删除文件
- linux删除日志文件的命令
LINUX下,清除日志的脚本帮帮忙
#!/bin/bash
#SystemDate
date=$(date +%Y%m%d)
source_url=日志现存路径
target_url=将原日志备份的路径
cp $source_url/logname $target_url/logname_$date
cat /dev/null 》 $source_url/logname
原日志需要以》》方式输出到logname
例:命令》》logname&
linux如何清除kern.log
1、打开终端:在Linux系统中,可以通过打开终端来执行命令。
2、切换到root用户:清除kern.log文件需要root权限,因此需要切换到root用户。
3、进入日志文件目录:kern.log文件通常位于/var/log目录下,因此需要进入该目录。
4、清除kern.log文件。
5、该命令会清空kern.log文件,但不会删除该文件。
6、重启rsyslog服务:rsyslog是Linux系统中的一个日志服务,清除kern.log文件后需要重启该服务,以便重新生成日志文件,可以使用以下命令重启rsyslog服务:sudoservicersyslogrestart。
7、该命令会重启rsyslog服务,并重新生成kern.log文件。
Linux定时删除日志文件/文件夹
1,新建脚本文件
touch /export/Shell/auto-del-log.sh
2,修改脚本文件权限
chmod +x /export/Shell/auto-del-log.sh
3,脚本文件执行内容
#!/bin/sh
find /export/Instances/pplanT.jd.local/server1/logs -name "$(date "+%Y").*" -exec rm -rf {} \;
#!/bin/sh
find /export/Instances/pplanT.jd.local/server1/logs/* -type d -exec rm -rf {} \;
4,定时执行
crontab -e
*/1 * * * * sh /export/Shell/auto-del-log.sh once 》 /dev/null 2》&1 &
crontab -l
重载定时配置:service crond reload
重启定时服务:service crond restart
linux日志清理脚本清理不掉
linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧。
二、 分析日志
查看日志路径和日志命名规则:
要清理这个目录下面如此命名规则的日志。
三、方法
这时我想的肯定是希望能写一个脚本把这些日志清除掉,但不是删除掉。那么现在需要实现3步:
1.找到所有项目的log的位置
2.清除或者删除log内容
3.定时执行脚本
删除和清空日志命令:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
实例命令:
find /opt/soft/log/ -mtime +7 -name "*.log" -exec rm -rf {} \;
说明:
将/opt/soft/log/目录下所有7天前带".log"的文件删除。具体参数说明如下:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清理的任意目录;
-mtime:标准语句写法;
+7:查找7天前的文件,这里用数字代表天数;
"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
-exec:固定写法;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格+\+;
清空方法:
find /opt/soft/log/ -mtime +7 -name "*.log" -type f -print -exec truncate -s 0 {} \; -》将符合这样一个条件的文件查到出来并赋予它0M的大小。
-type f -print: 将符合的文件打印出来
truncate -s 0 aa.txt:意思是将aa.txt的大小变成0M,即把aa.txt的内容清空了
linux日志清理
由于ubuntu日志文件syslog 和 kern.log 时刻在增长,一会儿就使得根目录文件夹不够用了,需使用如下命令清理
sudo -i
然后输入密码,执行:
echo 》 /var/log/syslog
echo 》 /var/log/kern.log
就可以了.
打开日志文件夹:cd /var/log,
输入du -sh可以查看占用的磁盘空间(du -h --max-depth=1 /var/log/*)
输入du -**查看文件总数
使用sudo find /var/log/ -type f -mtime +30 -exec rm -f {} \;删除30天之前的旧文件(P.S:这里的天数30可以修改为其它值):
ubuntu系统日志查看器
在系统日志里,可以查看系统相关事件记录,出错信息等;
1、系统日志查看器
1)点菜单“系统 - 系统管理 - 系统日志查看器”,打开系统日志查看器窗口;
2)窗口左侧是项目,右边是详细记录;
3)其中 Xorg 是显示服务,auth是安全验证,boot是启动,daemon是进程,kern是内核,messages是消息,syslog是系统,user是用户;
4)有新消息的项目会以粗体显示,查看以后恢复正常;
ubuntu日志管理方法
ubuntu下var-log下各个日志文件的作用说明
/var/log/alternatives.log-更新替代信息都记录在这个文件中
/var/log/apport.log -应用程序崩溃记录
/var/log/apt/ -用apt-get安装卸载软件的信息
/var/log/auth.log -登录认证log
/var/log/boot.log -包含系统启动时的日志。
/var/log/btmp -记录所有失败启动信息
/var/log/C***olekit - 记录控制台信息
/var/log/cpus - 涉及所有打印信息的日志
/var/log/dist-upgrade - dist-upgrade这种更新方式的信息
/var/log/dmesg -包含内核缓冲信息(kernel ringbuffer)。在系统启动时,显示屏幕上的与硬件有关的信息
/var/log/dpkg.log - 包括安装或dpkg命令清除软件包的日志。
/var/log/faillog - 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。
/var/log/fontconfig.log -与字体配置有关的log。
/var/log/fsck - 文件系统日志
/var/log/faillog -包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。
/var/log/hp/
/var/log/install/
/var/log/jokey.log
/var/log/kern.log –包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog —记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
/var/log/faillog –包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。
/var/log/lightdm/
/var/log/mail/ – 这个子目录包含邮件服务器的额外日志。
/var/log/mail.err -类似于上面的
/var/log/news/
/var/log/pm-powersave.log
/var/log/samba/ –包含由samba存储的信息。
/var/log/syss.log
/var/log/speech-dispacher/
/var/log/udev
/var/log/ufw.log
/var/log/upstart/
/var/log/uattended-upgrades/
/var/log/wtmp —包含登录信息。使用wtmp可以找出谁正在**进入系统,谁使用命令显示这个文件或信息等。
/var/log/xorg.*.log— 来自X的日志信息。
linux哪些日志文件可以删除
删除对你来说不重要的数据文本文件,系统日志文件以及一些缓存文件,只要不删除系统配置文件和重要的数据库文件都可以。
用du + sort 找一下,看看有没有log文件太大的~ du -sh /* | sort -nr
/tmp 下的文件, 一般都可以删除.
用du命令看下文件或目录的大小,根据它们对于自己的重要性来绝对是够删除。
Linux系统用什么命令进入你想进的文件夹 怎么删除文件文件夹中的日志文件
首先你要知道你要进入的文件夹的位置,比如 /opt/*** , 用cd就行了。比方进入根目录下的opt文件夹:cd /opt/,删除文件夹用rmdir 目录名 【注意使用这个命令的时候目录不能为空】,具体参数输入:rmdir --help就知道了,可以配合参数一起使用,递归删除某目录下的非空文件夹:rmdir -R 指定目录,可以加上-f参数。。删除日志等非文件夹就用rm命令,加上-f就是强制删除了。强制递归删除:rm -R -f 你的目录或者文件,比如*.jpg就是删除某目录下所有的jpg文件,注意使用啊这些命令,删了很难找回的。具体高级点的还可以配合匹配 |grep等这些高级命令一起,功能更强大!建议系统日志文件不要随便删除,出问题了有时候你得靠它分析的,其他的一些软件的使用日志就随你了! 命令名称:rmdir
使用权限:于目前目录有适当权限的所有使用者
使用方式: rmdir dirName
说明: 删除空的目录。
参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例: 将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
linux定时清理nohup命令下产生的日志
nohup命令 将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。一般用于将程序的输出、报错信息重定向到一个指定路径的指定文件。
语法 :nohup
nohup命令 最后要带个&作为结束
例:nohup python XXX.py 》 abc/def/XXX.log 2》&1 &
args: 0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
2》&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到文件,即XXX.log中。
nohup命令的缺点:日志文件文件越来越大,占内存且查看麻烦。因为这个日志文件和程序是共生死的,因为只要程序运行起来,就一直对log文件进行读写,直接删除XXX.log会导致程序也被结束了。
目前想到的一些相关方法如下,并未完全解决问题。
参考: linux下nohup日志输出过大问题解决方案
split命令:
参数:-b:值为每一输出档案的大小,单位为 byte。
-C:每一输出档中,单行的最大 byte 数。
-d:使用数字作为后缀。默认这个数字后缀是两位的,例如00,01,11. -a: 指定位数,例如 -a 4表示后缀是四位的。
-l:值为每一输出档的列数大小。
PREFIX:代表前导符,可作为切割文件的前导文件。
例如:
可以用split命令把很大的日志文件分成多个小文件,分割完成后 原文件不变 。不会影响nohup运行的程序。
缺点:split文件分割依赖手动,当程序出故障或调试时,将日志分割以便查看最新的日志信息。没法定时做到定时自动清理。
首先介绍find命令的参数
参考: linux find命令详解
在这里主要用到的是这几个参数:
-atime n 查找系统中最后n*24小时访问的文件
-ctime n 查找系统中最后n*24小时被改变文件状态的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
+n: n天前; -n: n天之内
find命令还可以和下一条命令连用(xargs或exec)
或
注:{}表示find到的东西;{}和 \;之间要有一个空格
我感觉exec不是很好用,怪怪的
cat dev/null
在 Linux 中, null 设备基本上被用来丢弃某个进程不再需要的输出流,或者作为某个输入流的空白文件,这些通常可以利用重定向机制来达到。
所以 /dev/null 设备文件是一个特殊的文件,它将清空送到它这里来的所有输入,而它的输出则可被视为一个空文件。另外,你可以通过使用 cat 命令显示 /dev/null 的内容然后重定向输出到某个文件,以此来达到清空该文件的目的。通过使用cat /dev/null,文件大小为0字节。
用cat删除文件:
但是我发现对于nohup的程序的日志,这样是无效的。因为nohup的程序持续不断地在读写日志文件,此时无法重定向,我试了几次,日志文件都压根没动。
crontab用于设置定时任务
参考: linux crontab定时执行shell脚本
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
语法
crontab(选项)(参数)
选项
-e:该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u《用户名称》:指定要设定计时器的用户名称。
参数
crontab文件:指定包含待执行任务的crontab文件。
首先crontab -e,就会进入vi界面。然后直接把新的命令输进去就行了。
minute hour day month week command /XXX/XXX.log 顺序:分 时 日 月 周
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
/n表示每个n的单位执行一次
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
意为每周的1:00执行,且输出重定向到黑洞目录。
linux使用tail查看日志后自动删除文件
使用crontab命令生成定时任务,每天shell脚本可以自动进行日志清理。
为了避免手工删除日志,考虑通过写shell脚本来删除30天以前的日志文件,然后使用crontab命令生成定时任务,在每天早上0点1分调用上面的shell脚本进行日志清理。
Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。
linux删除日志文件的命令
例: vi /var/log/messages :set nu 查看文件中的你要删除的时间段在几行之间 如果是100-200行,则将光标放在第100行,按100dd即可删除。 还有其他方法。看你的具体需求。
更多文章:
编程在线翻译(西门子plc编程软件上在哪里能把英文翻译成中文)
2026年4月4日 21:00
python如何安装sklearn库(用Python,在 import sklearn 总是报错怎么办)
2026年4月4日 20:00
linux删除日志文件命令(LINUX下,清除日志的脚本帮帮忙)
2026年4月4日 19:40
易语言线程优化不占cpu(易语言做出的小程序,如何降低其cpu占有率)
2026年4月4日 19:00
js写后端用什么框架(对于一个有js基础的人来说,nodejs难还是php难)
2026年4月4日 18:20






