
集群通常需要同步配置文件,是不是可以写个脚本快速同步配置文件呢?
这里 xsync 脚本是基于 rsync 的。相对于scp,rsync做文件夹复制时速度更快,因为rsync只对有差异文件做更新,而scp是把所有文件都复制过去。
安装rsync
xsync脚本编写
我这写在常用用户的bin目录下了,之后所有基本我也会写在该目录。xsync脚本内容如下:
放开 /root/bin/xsync 权限
**运行测试:同步Hadoop的配置文件
连接 flink02 ,看下 flink02 是否有该文件!
查看环境变量PATH
我们经常要查询集群中运行的程序,如果你觉得在每台服务器上使用jps命令太麻烦,就可以写个jspall的脚本了。脚本内容如下:
运行测试
一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了。
Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序。
以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。
当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用sh ./file.sh方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他)。
整个shell脚本,其实就相当于你在终端输入的一系列命令,如果想在shell里做什么,就先想想在终端可以做什么吧,字符的的连接,就是直接用 "" 双引号,输出,变量定义无 $ 符号,但是使用时一定要加上 $ 符号。
"=" 赋值符号,两边一定不能有空格,这和其他语言有区别,尤其是你还有自己代码美观风格时特别注意,否则会报语法错误!
for 中的数组内容是以 " " 空格分隔,而非 "," 逗号分格。
条件判断 [ true ] 中括号 后面需要有一个空格,但是两个中括号之间不能有空格如 [[ true ]]。
while 条件判断可以用 () 括号,也可以用 [[ ]] 中括号。
如果用windows写shell,一定要注意换行符格式 \n 而非 \r\n , 需要借助一些编辑器(如notepad++)更改换行符格式!
我对shell脚本的认识,除了执行过同事写的shell脚本外,其他一无所知,为了让自己强大,我决定自己研究shell脚本,也许在你看来很简答,没必要说这么多废话,但是我希望在我的技术blog里记录下来每次的学习的动机,与思想过程,并且我希望用1个小时的时间完成学习并且写出我想要的shell脚本,可以开始了:
对shell的认识:
开始创建一个脚本:
我们使用bash(bourne/目的地,边界/
again
shell)
使用gedit编辑器编写,或者vi等,依据个人习惯在文件的第一行,以下面的内容开始:#!/
bin/sh解释:#!
----告诉系统后面的参数是用来执行该文件的程序,在这里我们使用/
bin
/
sh
来执行脚本
编辑好脚本,要执行该脚本就必须使该脚本可执行:
要使脚本可执行:在文件的末尾加上下面的内容:
chmod
+
x
filename
在命令终端上可输入
./filename来执行脚本
==============================================注释:以#开头,直到这一行结束,养成注释的好习惯
以后编程中用到的具体的语言以后再补充
这里一个简单的输出hello
word!脚本的例子:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)