1,find
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
#-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户
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>&13,步骤:
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