【Linux】分享一些服务器运维常用的Shell工具命令

跨主机文件传输:

bash 复制代码
rsync -av -e "ssh -p 10022" apache-tomcat-9.0.91 --exclude="logs" root@192.168.223.198:/root

目标服务器上打印目录的大小(一般用于文件传输监控):

bash 复制代码
while(1>0); do echo `date +'%Y/%m/%d %H:%M:%S'`"=====>"`du -sh dirName`; sleep 60; done

一键杀死全部目标进程:

bash 复制代码
ps -ef| grep java| grep keyWord| grep -v grep| awk '{print $2}'| xargs kill -9

获取日期的相关命令:

bash 复制代码
# 获取昨天的日期
date -d 'yesterday' # 或 date -d 'last day'
 
# 获取明天的日期
date -d 'tomorrow' # 或 date -d 'next day'
 
# 获取上个月的日期
date -d 'last month'
 
# 获取下个月的日期
date -d 'next month'
 
# 获取上一年的日期
date -d 'last year'

# 获取下一年的日期
date -d 'next year'

查找文件和目录:

bash 复制代码
# 文件查找
find / -type f -name "fileName" 

# 目录查找
find / -type d -name "dirName" 

删除指定目录下30天之前的日志(注意日志格式匹配):

bash 复制代码
find /app/logs/backup -name "servInvoke.log.20*.gz" -type f -mtime +30 -exec rm -f {} \;

对历史日志文件进行压缩(注意不要把当前未作按日期分割的实时日志文件压缩了!):

bash 复制代码
find /app/logs -name "servInvoke.log.20*" -type f ! -name "*.gz" -exec gzip {} \;
相关推荐
不惑_12 小时前
[特殊字符] 在 Linux 上设置 SQLite
linux·jvm·sqlite
淮北49413 小时前
如何在ubuntu调用exe文件
linux·运维·ubuntu
HalvmånEver13 小时前
Linux:基础开发工具(一)
linux·运维·服务器·开发语言·学习·进阶学习
HIT_Weston18 小时前
26、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(二)
linux·运维·ubuntu
zl_dfq20 小时前
Linux第一个小程序 之 【进度条】
linux
wdfk_prog20 小时前
[Linux]学习笔记系列 -- [kernel]kthread
linux·笔记·学习
大地的一角20 小时前
(Linux)ELF格式与库的链接原理
linux·运维·服务器
z2023050820 小时前
Linux之中断子系统-内核中断注册源码分析(4)
linux·运维·服务器
深思慎考20 小时前
微服务即时通讯系统(服务端)——用户子服务实现逻辑全解析(4)
linux·c++·微服务·云原生·架构·通讯系统·大学生项目
Red丶哞1 天前
Docker 安装部署Prometheus
linux·云原生·容器·kubernetes