• ★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

  • 相关阅读:
    三维几何模板
    凸包
    计算几何 部分模板
    几何模板
    高斯消元模板
    tarjin求割点
    在无向图中找最短桥(tarjan)
    线段树
    错排问题
    NABCD分析
  • 原文地址:https://www.cnblogs.com/Tang-Yuan/p/9834585.html
Copyright © 2020-2023  润新知