shell脚本批量部署ssh】的更多相关文章

日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本.ssh-keygen.expect来实现.希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步. 首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-key…
shell脚本批量ssh登陆主机并执行命令 今天在客户现场遇到了这个问题,客户没有管理工具,无法批量登陆主机下发命令,几个个C段啊,让我一个一个登陆,.................. 所以写了个shell脚本,批量使用用户名密码方式登陆Linux主机,执行命令,并判断是否执行成功. 功能: 读取IP地址文件,循环登陆主机执行命令,保存返回结果. 脚本已经上传到github https://github.com/b4zinga/UsefulScripts/blob/master/remote-…
shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_workspace/Test" if [ ! -d "$run_flag_dir" ]; then mkdir -p "$run_flag_dir" fi #判断是否正在部署,如果是则退出 if [ -f "$run_flag_dir/.run&qu…
Linux shell脚本 批量创建多个用户 #!/bin/bash groupadd charlesgroup for username in charles1 charles2 charles3 do useradd -G charlesgroup $username echo "baitang" | passwd --stdin $username done 如有问题,欢迎纠正!!! 如有转载,请标明源处:https://www.cnblogs.com/Charles-Yuan/…
使用 Shell 脚本批量创建数据表 系统:Centos6.5 64位 MySQL版本:5.1.73 比如下面这个脚本: #!/bin/bash #批量新建数据表 for y in {0..199};do mysql -uroot -proot -e "use mysql; create table user$y( id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键,记录唯一标识', mail varchar(64) NOT NULL…
# 注意:shell脚本批量执行命令,不能只写一个函数,然后把所有命令复制进去,之前试过这样是不行的.必须要有一个判断命令执行成功与否的语句 # 简单的命令可以不加结果判断符号,但是遇到解压包.sed 的命令就不往下执行了.测试过 实例1. shell脚本批量开启防火墙端口 [mysql@www ~]$ cat firewall.sh #!/bin/bash func1(){ firewall-cmd --zone=public --add-port=/tcp --permanent [ $?…
# 注意:shell脚本批量执行命令,不能只写一个函数,然后把所有命令复制进去,之前试过这样是不行的.必须要有一个判断命令执行成功与否的语句 # 简单的命令可以不加结果判断符号,但是遇到解压包.sed 的命令就不往下执行了.测试过 [mysql@www ~]$ cat firewall.sh #!/bin/bash func1(){ firewall-cmd --zone=public --add-port=/tcp --permanent [ $? -eq ] firewall-cmd --z…
由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 1. 本地打包:一般 maven clean package 2. 借助xftp上传到服务器对应目录 3. 借助 xshell连接到服务器 4.开始部署: a.找到程序运行的进程id:ps -ef | grep java b.杀死进程: kill -9 pid c.启动新的jar包: java -jar  包名  --spring.profiles.active=test & 二.使用shell脚本…
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者. 执行脚本,等脚本执行完成,即可使用mysql -u root -p点击回车即可进入. 2.MySQL及自动补全工具一键部署脚本(使用source或./执行脚本!) #!/bin/bash echo -e "----正在验证当前为仅主机还是NAT模式----" ping -c 2 -w…
1. 配置文件批量注释 1.1 批量注释 ① 进入命令行模式,按ctrl + v进入 visual block模式,键盘上下箭头选中多行,把需要注释的行标记起来 ② 按大写字母I,再输入注释符:# ③ 双击esc键,实现标记行的全部注释 1.2 取消批量注释 ① 进入命令行模式,按ctrl + v进入 visual block模式,键盘上下箭头选中多行,把需要取消注释的行标记起来 ② 单击d键,实现标记行的取消注释 2. shell脚本批量注释 2.1 方法一:采用 :<<! #!/bin/b…
要求1:大批量部署SSH信任关系,在A文件分发服务器上大批量部署WEB层面信任关系文件分发服务器为:10.0.3.9 登录用户为:zhangsan WEB层IP段:10.0.3.10~10.0.3.60 (1).请大批量在WEB层上建立zhangsan用户,并且在zhangsan家目下面创建一个.ssh目录(2).在3.9服务器上面,zhangsan用户是用ssh-genkey创建私钥匙和公钥,将公钥导出到authorized_keys这个文件,权限更改为600(3).将authorized_k…
公司项目使用了SpringBoot.开发的应用需要自动上传到服务器.虽然目前对热部署还没完全掌握.先使用shell简化一下部署吧. # 上传密钥 sshLoginKey=/f/MyFile/root.key # 项目在本机的目录 MyProject=/d/MyProject/comment # 远程主机上的路径 RemoteHost=root@domainName.com RemotePath=$RemoteHost:/data/ if [ -f "$sshLoginKey" -a -…
本人最近半年使用阿里dubbo做开发,并在公司内部大力进行推广,将原来一个笨重且不易于维护的大项目切分成多个相对独立的java程序,好处是显而易见的,但是随着切分的独立运行程序包越来越多,程序的部署变成了一件非常头痛的问题,无耐之下,本人想到可否写一个shell脚本来批量/单独启动.停止.重启这些独立的java程序,之前没有写过shell脚本,研究二天后,终于将这个脚本写出来了,以后部署起来方便多了,废话不多说,直接贴上shell脚本,有需要的朋友可以根据自己项目修改前面的程序代码数组.程序名称…
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必 须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就诞生了下…
如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦.因而想到了用shell脚本来批量生成配置文件和配置数据.下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序.其原理是事先定义一个shell脚本模板,然后每个需要监控的站点复制一份模板替换掉模板文件里面的变量. 1.准备模板文件webcheck.template more webcheck.template ###################WEBURL define start##############…
vim  batch_sshkey.sh #!/bin/bashcd /rootcat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keysfor i in `cat iplist`doip=$(echo "$i"|cut -f1 -d":")password=$(echo "$i"|cut -f2 -d":")expect -c "spawn scp /root…
1.编写脚本自动部署反向代理.web.nfs: 要求: I.部署nginx反向代理三个web服务,调度算法使用加权轮询: 反向代理服务器脚本配置脚本 #!/bin/bash #安装eple和nginx function install(){ rpm -qa | grep epel &> /dev/null if [ $? != 0 ] then yum install epel -y fi rpm -qa | grep nginx &> /dev/null if [ $? !=…
发布:JB01   来源:脚本学堂     [大 中 小] 分享一例shell脚本,实现可以批量转换目录下的文件编码,很实用的一个小shell,有需要的朋友参考下.原文地址:http://www.jbxue.com/article/13953.html本节内容: 一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类…
#以下是一个本地的shell脚本,用于同时重启远端多台服务器tomcat服务 #!/bin/sh# ancyshi 重新启动节点tomcat服务function restartNodeTomcatServer(){ node=$1 echo restart tomcat:$node #ssh root@$node "/usr/local/apache-tomcat-6.0.43/bin/./shutdown.sh" #结束tomcat进程 ssh root@$node "ps…
一.shell脚本部署nginx反向代理和三个web服务 1 对反向代理服务器进行配置 #!/bin/bash #修改用户交互页面 用户输入参数执行相应的参数 #安装epel扩展包和nginx function ng_yum_install(){ yum install epel-release -y yum install nginx -y yum install rpcbind nfs-utils -y } #nginx init function #nginx status #nginx…
业务逻辑:批量设置redis中手机号的验证码为888888: 准备shell脚本如下:将18888888100~18888888110的手机号验证码设置为888888: #!/bin/bash ;i<;i++)) do redis-cli -c -h >> phone.log done 在Linux中运行步骤: 1.vim phone.sh 2.复制上面脚本到该文件中 3.在vim中:wq命令然后回车,保存并退出vim; 4.赋予该文件可执行权限:chmod +x phone.sh   …
说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?#!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorized_keys for ip in {cat ip.list}do    ssh user@$ip ssh-keygen -t rsa  &>/dev/null    expect{                "yes/no" { send "yes\r"…
有时候想对本地的几个repository都进行一下pull,一个一个操作比较繁琐,所以写了个shell脚本进行简化操作. git_pull_all.sh #!/bin/sh clear function showMsg() { echo -e "\033[32m$1\033[0m" } lstRepo=( Project01 Project02 Project03 Project04 ) for repo in ${lstRepo[@]} do cd ../$repo showMsg…
网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名. 百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链.404页面)进行提交,可快速删除死链,帮助网站SEO优化.在提交死链的文件中逐个手动填写死链的话太麻烦,工作中我们提倡复杂自动化,所以本文我们一起交流分享Apache服务中通过shell脚本整理网站死链,便于我们提交. 1.配置Apache记录搜索引擎 Apache是目前网站建设最为主流的…
在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个工程都要发布的时候,发布的过程就会比较繁琐,所以福音来了…… 通过 编写shell 脚本来完成这些操作,只要执行一个shell脚本,项目就可以自动发布到服务器了,用起来还是比较方便的. 第一步:在linux中安装svn.(这个可以参照另外一篇博客:http://simplelife.blog.51c…
#!/bin/sh function scandir(){ local cur_dir parent_dir workdir workdir=$ cd ${workdir} if [ ${workdir} = "/" ] then cur_dir="" else cur_dir=$(pwd) fi for dirlist in $(ls ${cur_dir}) do if test -d ${dirlist};then cd ${dirlist} scandir $…
目录 启动docker 停止docker Python调用脚本     最近日常测试中经常需要手动启动或停止docker,于是决定写一个Shell脚本来代替人工操作,另外该脚本,也可以通过Python脚本实行远程调用,详细如下所示: 目前该脚本是将Container ID写死在脚本中,当然也可以通过传参给脚本来进行控制,大家可以改造一下. 启动docker 启动脚本详细如下所示: #!/bin/bash containerIDs="ad3e4d7fc407 a228730a915f ad3e4d…
关于脚本 服务器使用之前,都需要先配置静态IP,那就将这种简单重复的工作,交给脚本来处理吧,让我们运维有更多的时间喝茶看报刷微博 脚本使用 sh ssh.sh ip.txt ssh.sh 为脚本的名称,自行设定,不是固定项 ip.txt 为ip.密码.主机名的记录文件,文件名称可以自行设定,不是固定项,内容格式如下: 192.168.72.46 123.com k8s-01 192.168.72.47 123.com k8s-02 192.168.72.48 123.com k8s-03 192…
工作中,使用ansible等自动化运维工具实现服务器批量自动化运维管理,需要先解决管理端和被管理端的免密码登录,可以脚本实现ssh基于key的验证,代码如下: #!/bin/bash PASS=123456 USER=root ssh-keygen -f '/root/.ssh/id_rsa' -P '' &> /dev/null rpm -q expect &> /dev/null || yum install expect -y -q while read IP;do ex…
#!/bin/bash #script_version=v110 db_host=127.0.0.1 db_port=3306 db_username=db_test_inst db_passwd=`XXXXXXXXXXX` db_name=test MYDATE=`date +%Y%m%d%H%M%S` ROOT_PATH=`XXXX/${script_version}` MYSQL_PATH=${ROOT_PATH}/sql LOG_DIR=${LOG_DIR}/log LOG_FILE=$…