其实没有必要写shell脚本,简单一句话放在系统定时任务里就行了。比如你的日志文件名叫a.log。
创新互联建站专注服务器托管服务10余年,提供服务器租用、网络空间、域名注册、云服务器、云主机租用、四川电信机房托管、建站等服务
find dir -iregex .*\.log| xargs rm -rf.先用find命令找到指定目录下以log结尾的所有文件的全路径,然后用xargs把结果传递给rm命令的输入参数,然后用rm命令删除就可以了。
打开xshell,然后点击“工具”,选择“选项”。
举个例子,有59个日志,从aa20110101到za20110228,如果想删除1月份的日志,命令可以写成 rm *201101*。
可以自行编写shell脚本,或者使用其他高级语言也是可以的。
1、打开终端:在Linux系统中,可以通过打开终端来执行命令。切换到root用户:清除kern.log文件需要root权限,因此需要切换到root用户。进入日志文件目录:kern.log文件通常位于/var/log目录下,因此需要进入该目录。
2、将/opt/soft/log/目录下所有7天前带.log的文件删除。
3、例: vi /var/log/messages :set nu 查看文件中的你要删除的时间段在几行之间 如果是100-200行,则将光标放在第100行,按100dd即可删除。 还有其他方法。看你的具体需求。
4、另外,你可以通过使用 cat 命令显示 /dev/null 的内容然后重定向输出到某个文件,以此来达到清空该文件的目的。通过使用cat /dev/null,文件大小为0字节。用cat删除文件:但是我发现对于nohup的程序的日志,这样是无效的。
将/opt/soft/log/目录下所有7天前带.log的文件删除。
其实没有必要写shell脚本,简单一句话放在系统定时任务里就行了。比如你的日志文件名叫a.log。
- -!! 重定向 一下日志文件 就清空了。
但是我发现对于nohup的程序的日志,这样是无效的。因为nohup的程序持续不断地在读写日志文件,此时无法重定向,我试了几次,日志文件都压根没动。
使用crontab命令生成定时任务,每天shell脚本可以自动进行日志清理。为了避免手工删除日志,考虑通过写shell脚本来删除30天以前的日志文件,然后使用crontab命令生成定时任务,在每天早上0点1分调用上面的shell脚本进行日志清理。