写linux的shell脚本方法积累


写linux的shell脚本方法积累

案例1

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
# 循环向文件中生成数据
# 下面括号里没空格会报错
while [ "1"="1" ]
do
# 获取当前时间戳
curr_time=`date +%s`
# 获取当前主机名
name=`hostname`
echo ${name}_${curr_time} >> /data/log/networkLogUploadToHdfsExample/access.l
og
sleep 1
done

案例二 写Flume进程的监控脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
monlist = `cat monlist.conf`
echo "start check"
for item in ${monlist}
do
# 设置字段分隔符
OLD_IFS=$IFS
IFS="="
# 把一行内容转成多列[数组]
arr=($item)
# 获取等号左边的内容
name=${arr[0]}
# 获取等号右边的内容
script=${arr[1]}
echo "time is:"`date +"%Y-%m-%d %H:%M:%S"`" check "$name
if [ `jps -m|grep $name | wc -l` -eq 0 ]
then
# 发短信或者邮件告警
echo `date +"%Y-%m-%d %H:%M:%S"`$name "is none"
sh -x ./${script}
fi
done
1
2
[root@bigdata04 myconfFile]# vim monlist.conf 
load-failover.conf = startExample.sh
1
2
3
4
5
[root@bigdata04 myconfFile]# vim startExample.sh
#!/bin/bash
flume_path = /data/soft/apache-flume-1.9.0-bin
nohup ${flume_path}/bin/flume-ng --name a1 --conf ${flume_path}/conf --conf-file ${flume_
path}/conf/myconfFile/load-failover.conf &

3

1
2
3
4
5
6
7
8
9
[root@bigdata04 sparkjars]# vi wordCountJob.sh
spark-submit \
--class com.imooc.scala.WordCountScala \
--master yarn \
--deploy-mode client \
--executor-memory 1G \
--num-executors 1 \
db_spark-1.0-SNAPSHOT-jar-with-dependencies.jar \
hdfs://bigdata01:9000/test/hello.txt
1
想写成多行时,在上一行+空格+\

本文标题:写linux的shell脚本方法积累

文章作者:TTYONG

发布时间:2022年02月18日 - 14:02

最后更新:2022年03月03日 - 16:03

原始链接:http://tianyong.fun/linux%E7%9A%84shell%E8%84%9A%E6%9C%AC%E6%96%B9%E6%B3%95%E7%A7%AF%E7%B4%AF.html

许可协议: 转载请保留原文链接及作者。

多少都是爱
0%