您的位置:首页 > 其它

定时清理,日志文件

2017-12-12 16:36 363 查看

1,find


·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find命令的参数;

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

#-print 将查找到的文件输出到标准输出

#-exec   command   {} \;      —–将查到的文件执行command操作,{} 和 \;之间有空格

#-ok 和-exec相同,只不过在操作前要询用户

例:find . -name .svn | xargs rm -rf
find /opt/logs/ -name "*gc.log" -mtime +2 -exec rm -rf {} \;

find /opt/logs/ -name "*.log.*" -size +100M -exec rm -rf {} \;

2,cron

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

-i:在删除用户的crontab文件时给确认提示。

$ crontab -e

可以像使用v i编辑其他任何文件那样修改crontab文件并退出。如果修改了某些条目或添加了新的条目,那么在保存该文件时, c r o n会对其进行必要的完整性检查。如果其中的某个域出现了超出允许范围的值,它会提示你。

我们在编辑crontab文件时,没准会加入新的条目。例如,加入下面的一条:
35 0 * * * /opt/logs/auto-del-gc-log.sh >/dev/null 2>&1

3,步骤:

1),编写shell文件auto-del-gc-log.sh ,

find /opt/logs/ -name "*gc.log" -mtime +2 -exec rm -rf {} \;
find /opt/logs/ -name "*.log.*" -size +100M -exec rm -rf {} \;

2),修改为可执行文件,chmod +x auto-del-gc-log.sh

3),配置定时任务

#crontab -e

加入35 0 * * * /opt/logs/auto-del-gc-log.sh
>/dev/null 2>&1

保存后即完成

参考博客:
https://www.cnblogs.com/intval/p/5763929.html http://blog.csdn.net/shipeng1022/article/details/52814404 https://www.cnblogs.com/peida/archive/2013/03/25/2980121.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: