一运行告警系统

创建一个任务计划crontab -e

每一分钟都执行一次

调试时把主脚本里边log先注释掉

再次执行

没有发现502文件说明执行成功了,每日有错误,本机IP 负载不高

二、分发系统-expect讲解

yum install -y expect

自动远程登录

#! /usr/bin/expect

set host "192.168.1.106"

set passwd "mimA123"

spawn ssh root@$host  指向106

expect {

"yes/no" { send "yes\r"; exp_continue}

"assword:" { send "$passwd\r" }

}

interact  停留在客户机不退出

路径/usr/local/sbin/dl.expect

vim dl.expect

[root@davery sbin]# chmod a+x df.expect  更改权限

[root@davery sbin]# ./dl.expect 执行脚本就直接登陆106了

三、 自动远程登录后,执行命令并退出

#!/usr/bin/expect

set user "root"

set passwd "123456"

spawn ssh $user@192.168.133.132

expect {

"yes/no" { send "yes\r"; exp_continue}

"password:" { send "$passwd\r" }

}

expect "]*"

send "touch /tmp/12.txt\r"  这些文件可以自己改动

expect "]*"

send "echo 1212 > /tmp/12.txt\r"  这些文件可以自己改动

expect "]*"

send "exit\r"

路径:/usr/local/sbin/tc.expect

[root@davery sbin]# chmod a+x tc.expect  更改权限

[root@davery sbin]# ./tc.expect  登陆
spawn ssh root@192.168.1.106

四、expect脚本传递参数

/usr/local/sbin/cd.expect

#!/usr/bin/expect

set user [lindex $argv 0]

set host [lindex $argv 1]

set passwd "123456"

set cm [lindex $argv 2]

spawn ssh $user@$host

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect "]*"

send "$cm\r"

expect "]*"

send "exit\r"

路径:/usr/local/sbin/cd.expect

[root@davery sbin]# chmod a+x cd.expect

[root@davery sbin]# ./cd.expect root 192.168.1.106 ls  写用户,ip 传递的命令,
spawn ssh root@192.168.1.106

五、expect脚本同步文件

#!/usr/bin/expect

set passwd "123456"

spawn rsync -av root@192.168.1.106:/tmp/12.txt /tmp/

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect eof 这个命令停留有传输时间

[root@davery sbin]# chmod a+x tb.expect
[root@davery sbin]# ./tb.expect

六、指定host和要同步的文件

#!/usr/bin/expect

set passwd "mimA123"

set host [lindex $argv 0]

set file [lindex $argv 1]

spawn rsync -av $file root@$host:$file

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect eof

路径:/usr/local/sbin/zd.expect

[root@davery sbin]# chmod a+x zd.expect
[root@davery sbin]#
[root@davery sbin]# ./zd.expect 192.168.1.106 "/tmp/12.txt'

七、shell项目-分发系统-构建文件分发系统

需求背景
对于大公司而言,肯定时不时会有网站或者配置文件更新,而且使用的机器肯定也是好多台,少则几台,多则几十甚至上百台。所以,自动同步文件是至关重要的。

实现思路
首先要有一台模板机器,把要分发的文件准备好,然后只要使用expect脚本批量把需要同步的文件分发到目标机器即可。

核心命令
rsync -av --files-from=list.txt  /  root@host:/

vim rsync.expect

#!/usr/bin/expect

set passwd "123456"

set host [lindex $argv 0]

set file [lindex $argv 1]

spawn rsync -av --files-from=$file / root@$host:/

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect eof rsync.expect

chmod a+x

[root@davery sbin]# vi /tmp/list.txt

[root@davery sbin]# vim /tmp/ip.txt

[root@davery sbin]# vi rsync.sh

[root@davery sbin]# chmod a+x rsync.expect

[root@davery sbin]# sh -x rsync.sh

八、分发系统-命令批量执行

vim exe.expect

#!/usr/bin/expect

set host [lindex $argv 0]

set passwd "123456"

set cm [lindex $argv 1]

spawn ssh root@$host

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect "]*"

send "$cm\r"

expect "]*"

send "exit\r"

vim exe.sh

#!/bin/bash

for ip in `cat ip.list`

do

echo $ip

./exe.expect $ip "w;free -m;ls /tmp"

done

Linux centosVMware运行告警系统、分发系统-expect讲解、自动远程登录后,执行命令并退出、expect脚本传递参数、expect脚本同步文件、指定host和要同步的文件、shell项目-分发系统-构建文件分发系统、分发系统-命令批量执行的更多相关文章

  1. iTerm 使用expect实现自动远程登录,登录跳板机

    #!/usr/bin/expect set timeout 10 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2] exp ...

  2. centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课

    centos shell编程4[分发系统] 服务器标准化  mkpasswd 生成密码的工具  expect讲解   expect传递参数   expect自动同步文件  expect指定host和要 ...

  3. 分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数

    expect脚本远程登录 yum install -y expect yum install -y tcl tclx tcl-devel 自动远程登录 #! /usr/bin/expect set h ...

  4. expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、批量远程执行命令

    7月20日任务 20.31 expect脚本同步文件20.32 expect脚本指定host和要同步的文件20.33 构建文件分发系统20.34 批量远程执行命令扩展:shell多线程 http:// ...

  5. expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行命令

    自动同步文件 #!/usr/bin/expect set " spawn rsync -av root@.txt /tmp/ expect { "yes/no" { se ...

  6. 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

    7月19日任务 20.27 分发系统介绍20.28 expect脚本远程登录20.29 expect脚本远程执行命令20.30 expect脚本传递参数 20.27 分发系统介绍 公司业务逐渐扩大时, ...

  7. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

  8. linux shell编程指南第二十章------向脚本传递参数

    前面已经讲到如何使用特定变量$ 1 . . $ 9向脚本传递参数.$ #用于统计传递参数的个数.可 以创建一个u s a g e语句,需要时可通知用户怎样以适当的调用参数调用脚本或函数. 简单地说,下 ...

  9. 系统的讲解 - SSO单点登录

    目录 概念 好处 技术实现 小结 扩展 概念 SSO 英文全称 Single Sign On,单点登录. 在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统. 比如:淘宝网(www.t ...

随机推荐

  1. js加密(六)QB.com

    1. url: https://notice.qb.com/detail?noticeId=256 2. target: 3. 分析: 3.1 打开网址,刷新页面,看看都发送了哪些请求. 看到了发送了 ...

  2. C# 篇基础知识9——特性、程序集和反射

    特性(Attribute)是用于为程序元素添加额外信息的一种机制.比如记录文件修改时间或代码作者.提示某方法已经过期.描述如何序列化数据等等.方法.变量.属性.类.接口.结构体以及程序集等都是程序元素 ...

  3. 吴裕雄 PYTHON 人工智能——基于MASK_RCNN目标检测(4)

    import os import sys import random import math import re import time import numpy as np import tenso ...

  4. dropna fillna

    # NaN 浮点类型   np.nan+1 =>nan Python type(None)  // NoneType类型 不能参与运算 import pandas as pd from pand ...

  5. LVS的概念和重要性

    LVS: 概念:是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统 作用:举例 像有三个小区,但是工作的时间和休息的时间不一样,第一个是白天工作,一 ...

  6. redhat 7.6安装kvm

    安装 yum install qemu-kvm libvirt virt-install virt-manager openssh-askpass yum install qemu-kvm-tools ...

  7. .NET Core快速入门教程 3、使用VS Code开发.NET Core控制台应用程序

    一.前言 本篇开发环境 1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview3.VS Code:1.14 二.安装&配置 1.VS Code下载 ...

  8. 移除微信昵称中的emoji字符

    移除微信昵称中的emoji字符: /** * 移除微信昵称中的emoji字符 * @param type $nickname * @return type */ function removeEmoj ...

  9. map或者对象转换

    map或者对象转换为具有相同字段的对象 List<Example> errorCodeExcelBeanList = JSONObject.parseArray(((JSONObject) ...

  10. Hibernate学习(七)

    Hibernate缓存 1.一级缓存:Session 级别的缓存 2.二级缓存: SessionFactory 级别的缓存 3.查询缓存:需二级缓存的支持,查询缓存依赖二级缓存 一级缓存 1.依赖于 ...