linux 常用自定义命令、自定义执行脚本
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
以下自定义命令维护在~/bin目录下
新建了自定义命令之后,给该文件夹下的全部自定义命令添加执行权限,参考如下
chmod u+x ./*
自定义命令创建示例
自定义log命令,用于查看日志文件等
vi /bin/log
内容如下:
#!/bin/bash
if [ ! -n "$2" ]; then
tail -100f $1
else
tail -$2f $1
fi
给log文件赋予可执行权限
cd ~/bin
chmod u+x log
使用示例,假如有info.log日志文件,可使用log命令查看日志文件
log info.log //默认打印最后100行,取决于自定义命令定义
或者
log info.log 500 //打印最后500行日志
自定义命令参考
pps:查看以java -jar方式跑的java程序信息,可替换
#!/bin/bash
if [ ! -n "$1" ]; then
ps -ef | grep 'java -jar'
else
ps -ef | grep $1
fi
ps:打印某个匹配文件夹下的日志
#!/bin/bash
if [ ! -n "$2" ]; then
tail -100f /data/services/hfpm-$1/log/app.log
else
tail -$2f /data/services/hfpm-$1/log/app.log
fi
自定义脚本参考
springboot部署脚本run.sh:
#!/bin/bash
set -e # 报错不在继续执行
SERVICE_NAME=${PWD##*/}
JAR=$SERVICE_NAME.jar
MPORT=8021
echo ">>> git pull"
git pull
echo ">>> mvn clean package -Dmaven.javadoc.skip=true"
mvn clean package -Dmaven.javadoc.skip=true -Dmaven.javadoc.skip=true
echo ">>> cd target"
cd target
mv app.jar $JAR
echo ">>> kill -9 $(lsof -t -sTCP:LISTEN -i:$MPORT)"
kill -9 $(lsof -t -sTCP:LISTEN -i:$MPORT)
JAVA_OPTS="-Xms512m -Xmx1536m -Dspring.profiles.active=dev"
echo ">>> nohup java -jar $JAVA_OPTS $JAR > ../log/app.log &"
BUILD_ID=dontKillMe nohup java -jar $JAVA_OPTS $JAR > ../log/app.log &
minio对象存储服务器启动脚本start.sh:
#!/bin/bash
PIDS=$(ps aux | grep minio | grep -v grep | awk -F' ' {'print $2'})
if [ "$PIDS" != "" ]; then
kill -9 ${PIDS[0]}
else
echo 'no minio running...'
fi
echo '>>> start minio'
MINIO_ACCESS_KEY=V3IJR32L89EGIN8ZYJUF MINIO_SECRET_KEY=RDL+gs+RpPkkB0uIPmDbAyO3duX7VH8WfDBmObT6 nohup ./minio server /data/data > minio.log 2>&1 &
日志备份重启脚本restart.sh:
#!/bin/bash
set -e # 报错不在继续执行
SVC=platform # 服务名称
SVCDIR=/app/u01/services/ # 服务jar包所在文件夹
LOGDIR=/app/u01/logcron/ # 日志目录
BAKCOUNT=3 # 每多少次重启删除最早一次备份
JAR=$SVCDIR$SVC".jar" # 服务jar包位置
# 先停掉服务
kill -9 $(jps -ml | grep $SVC | awk '{print $1}')
# kill -9 $(lsof -n -P -t -i:$MPORT)
while [ -n "$(jps -ml | grep $SVC | awk '{print $1}')" ];do
sleep 0.1
done
# 如果日志目录不存在则新建
if [ ! -d $LOGDIR ]; then
mkdir $LOGDIR
fi
# 找出当前最大的备份数
MAX=0
for i in $(ls $LOGDIR | grep $SVC)
do
temp=${i/$SVC/}
temp=${temp/".log"/}
if [ $temp -gt $MAX ];then
MAX=$temp
fi
done
# 如果还不是最大备份数则在当前日志基础上加一
# 否则删除最早的日志备份(如果满足条件),并向前移动一个位置
if [ $MAX -lt $BAKCOUNT ];then
MAX=$(expr $MAX + 1)
else
rm -rf $LOGDIR$SVC"1.log"
for i in $(seq 2 $BAKCOUNT);do
mv -f $LOGDIR$SVC$i".log" $LOGDIR$SVC$(expr $i - 1)".log"
done
fi
LOGFILE=$LOGDIR$SVC$MAX".log"
BUILD_ID=dontKillMe nohup java -jar -Xms2048m -Xmx4096m -Dspring.profiles.active=site $JAR >> $LOGFILE &
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献8条内容
所有评论(0)