前言
由于近期业务调整,最近需要本人亲手把自己当年部署上服务器的Java应用全部备份之后清理…抱着一种悲痛的心情,开始清除一年多前和同事们辛苦耕作的成果…
忍痛割爱
1.杀进程
首先先依据我们对应用服务的命名,找到部署的Java服务的进程,使用以下指令:
ps -ef | grep java(这里的Java可以替换成任何服务名相关的关键字)
找到之后pid就是我们的需要拿到的进程号了,接下来键入以下指令杀死对应的进程:
kill -9 进程号(11123)
好了,如果我们部署了十几个Java服务,需要按照每个Java应用名去一个一个找进程号再杀死,实在太麻烦了。高能来临!
接下来我们使用批量杀进程的方法,贴上代码:
ps -ef | grep 服务名关键字| grep -v grep | cut -c 9-15| xargs kill -9
我们对这个指令进行解释,| 是管道命令符,可以对前一段的搜索结果进行再处理,也就是从左到右阅读,管道命令符左边的结果作为输入放到管道命令符右边再处理:
1)grep 服务名关键字 -- 顾名思义就是搜索进程名中带服务名关键字的进程
2)grep -v grep 将前一个输入的grep字段去除
3)cut -c 9-15 将前一个输入的第9位到第15位的结果,也就是进程号取出
4)xargs kill -9 将前一个输入的结果放到数组中,使用kill -9 依次执行
如果服务名关键字= “Java”,那么执行完毕,一台服务器的Java服务都被杀死了…
2.打包备份服务
使用tar - czvf filename path 进行打包,例如
tar -czvf /app/tomcat/abc.tar.gz /app/tomcat
1)以上举例的意思就是将/app/tomcat下的所有文件夹以及子文件 全部打包到/app/tomcat下,以abc.tar.gz的方式去命名
2)这个命令后面是可以继续添加条件的,比如我想去除掉日志文件,那么可以在后面加上--exclude=‘条件路径’,如
tar -czvf /app/tomcat/abc.tar.gz /app/tomcat --exclude=/app/tomcat/log
此时/app/tomcat/log下的所有文件都不会被打包进去
3.清理空间
清理之前,我们需要确认空间大小,再选择性的删除文件,那么需要用到以下指令:
df -lh
——这个指令用来查看磁盘的空间使用情况
du -ah --max-depth=1
——这个指令可以查看当前文件夹下所有文件夹的大小,当然也可以制定查看文件名的大小
du -h 文件名
最后确认了之后就是使用万恶的rm -rf 删除啦,当然,这个指令是支持正则匹配的
rm -rf ./adab*
例如以上的指令就是强制清除当前文件夹下的adab开头的所有文件。
友情提示:
rm -rf千万要慎重使用!!
rm -rf千万要慎重使用!!
rm -rf千万要慎重使用!!
结束语
到这里,我也完成了服务器的资源清理了……清理是抹去过去一年的点点汗水和加班的痕迹呀。。。
留下的经验希望对你们有帮助,如果有什么建议可以和我联系,qq:657897294,有什么不懂得也可以问我,有空就会回复啦!
非常感谢你读完这篇这么长的文章!