★linux批量删除进程的两种方法&定时删除日志

★linux批量删除进程的两种方法

介绍两种方法。要kill的进程都有共同的字串。
 
[plain]
kill -9 `ps -ef |grep xxx|awk '{print $2}' `   
 
kill -9后面的符号是Tab键上方那个。
 
如上就是kill -9 `列出进程,找到包含xxx的行,输出pid的列`
 
kill、ps、grep都是很常用的命令了。
 
awk的作用是输出某一列,{print $2}就是输出第二列,如上即是pid这一列。这里有一篇awk的教程http://www.2cto.com/os/201307/230381.html。
 
[plain]
ps -ef | grep xxx | grep -v root | awk '{print $2}' | xargs kill -9  
 
grep -v这个参数的作用是排除某个字符。所以这里排除了root执行的命令。
 
之后也利用awk找到pid这一列。
 
最后的xargs是从标准输出获取参数并执行命令的程序,即从前面的命令获取输出作为参数来执行下一个命令。

pgrep "xxxx" 列出所要查的xxxx程序的pid 也可以&&查多个pid
kill -9 `pgrep "xxxx"` 批量删除查到的pid

★linux定时删除日期文件

两种方法:

1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除。

find /root/123 -mtime 2 -type f -name "user_action.*" -exec rm -rf {} \;     &  find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} \;
find /root/123 -name "user_action.*" -mtime +7 -exec rm -rf {} \;
/root/123 -name  --设置查找的目录;
-mtime +2 --设置时间为91天前;
-type f --设置查找的类型为文件;
-name user_action.*  & -name *.mail[12] --设置文件名称中包含mail1或者mail2;
-exec rm -f --查找完毕后执行删除操作;
    将此命令写入crontab后即可自动完成查找并删除的工作了。
2. 或者用:find . -ctime +40 -type f | xargs rm -rf
 
  1、编写清理日志脚本clear.sh
     #!/bin/sh
     find /opt/bak -mtime +6 -name "*.log" -exec rm {} \;
     find /opt/bak -mtime +6 -name "*.dmp" -exec rm {} \;
  2、给脚本授权
      chmod +x clear.sh
  3、加入定时执行任务
      vi /etc/crontab
      在最后加入:00 2 * * *  root /opt/sh/clear.sh
  4、重启crontab服务

      service crond restart

两种方法:

1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除。

find /root/123 -mtime 2 -type f -name "user_action.*" -exec rm -rf {} \;     &  find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} \;
find /root/123 -name "user_action.*" -mtime +7 -exec rm -rf {} \;
/root/123 -name  --设置查找的目录;
-mtime +2 --设置时间为91天前;
-type f --设置查找的类型为文件;
-name user_action.*  & -name *.mail[12] --设置文件名称中包含mail1或者mail2;
-exec rm -f --查找完毕后执行删除操作;
    将此命令写入crontab后即可自动完成查找并删除的工作了。
2. 或者用:find . -ctime +40 -type f | xargs rm -rf
 
  1、编写清理日志脚本clear.sh
     #!/bin/sh
     find /opt/bak -mtime +6 -name "*.log" -exec rm {} \;
     find /opt/bak -mtime +6 -name "*.dmp" -exec rm {} \;
  2、给脚本授权
      chmod +x clear.sh
  3、加入定时执行任务
      vi /etc/crontab
      在最后加入:00 2 * * *  root /opt/sh/clear.sh
  4、重启crontab服务

      service crond restart

猜你喜欢

转载自www.cnblogs.com/Tang-Yuan/p/9834585.html