文章目录
- 1. jar包启动脚本
-
- 2. 进程关闭脚本
- 3. 操作mysql
- 4. impala建表语句提取
- 5. 监控磁盘存量
- 6. 清日志脚本
- 7. 替换tomcat的启动端口
- 8. 将一行数据按照空格依次读取
1. jar包启动脚本
1.1 方式一
#!/bin/sh
RESOURCE_NAME=/usr/local/applications/screen/monitors-0.0.1-SNAPSHOT.jar
JAVA_JOME=/opt/jdk1.8.0_91/bin/javaecho 'Start Process...'
if [ -f $RESOURCE_NAME ]; thennohup $JAVA_JOME -Dfile.encoding=UTF-8 -jar $RESOURCE_NAME >/dev/null 2>&1 &echo Start Success!
elseecho Start fail, the file $RESOURCE_NAME is not exist!
fi
/dev/null
是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了 >为重定向符号 >/dev/null
是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃,俗称“黑洞”
1.2 方式二
nohup jar -jar monitors-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
2. 进程关闭脚本
pid=`ps -ef | grep eask-monitors-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
kill -9 $pid
3. 操作mysql
#!/bin/bash
mysqlTest(){ mysql -uroot -p123456 << EOF use cloud_test select now(); exit
EOF
}
mysqlTest
4. impala建表语句提取
#!/bin/bash
echo '开始连接'
IMPALA_HOST="aaa.bbb.ccc.ddd"
IMPALA_PORT="30065"
IMPALA_USER="aaa"
DATABASE_NAME="pdm"
EXPORT_FILE="impala__create_table_all.txt"
TABLES=`impala-shell -i ${IMPALA_HOST}:${IMPALA_PORT} -u ${IMPALA_USER} --quiet -B -q "SHOW TABLES IN ${DATABASE_NAME};"`
for TABLE in ${TABLES}; doecho '开始提取表:'${TABLE}'的建表语句'QUERY="SHOW CREATE TABLE ${DATABASE_NAME}.${TABLE};"TABLE_SQL=`impala-shell -i ${IMPALA_HOST}:${IMPALA_PORT} -u ${IMPALA_USER} --quiet -B -q "${QUERY}"`echo $TABLE_SQL';' >> ${EXPORT_FILE}sleep 4
done
echo "表结构导出完成,文件保存在 ${EXPORT_FILE}"
5. 监控磁盘存量
#!/bin/bash
exist_=$(df -h |grep $1 |awk '{gsub("%","",$(NF-1));print $(NF-1)}');
IP_=$(ifconfig |grep inet |grep Bcast |awk '{gsub(":"," ",$0);print $3}')
max_=0
if (($exist_>=$max_))
then
curl -X POST xxx -d "{\"aaa\":\"xxxx\",\"orderContent\":\"【$IP_】存储快满了,现在存储为【$exist_%】\"}"
fi
6. 清日志脚本
find [search_path] -mtime +9 -exec command {} \; >/dev/null 2>&1 ;
+9: 这里的 + 表示“大于”,数值 9 指定一个时间间隔,即文件的修改时间距离当前时间应该大于9天
-1:-1 表示查找最后修改时间在 0 到 24 小时(不包括 24 小时)内的文件。1天内
+1:查找最后修改时间超过1天的文件。find /aaaa/bbbb/logs -mtime +0 -exec rm -f {} \; >/dev/null 2>&1;(最后修改时间至少是一天前,+0特殊)
find /aaaa/bbbb/logs -mtime +1 -exec rm -f {} \; >/dev/null 2>&1;(最后修改时间至少是一天前)
7. 替换tomcat的启动端口
run sed -i 's|"8080"|"7001"|' server.xml
8. 将一行数据按照空格依次读取
#!/bin/bash
podnames=$(sudo kubectl -n zj-ywxt-ns get pod|grep aaa|awk '{print $1}'|sort)
for item in $podnames; doecho "Item: $item"
done