shell脚本结合zabbix玩转故障自愈 ---- 收到zabbix故障报警,匹配相应的规则触发不同的自愈机制.当然这个脚本功能不仅仅如此. shell脚本结合zabbix玩转故障自愈 脚本作用 实现逻辑(Zabbix故障自愈) 脚本内容 使用示例 zabbix添加告警自愈脚本和相应参数 1. Actions设置 2. Media types设置 3. Users 设置 4. 上传脚本 磁盘空间不足,匹配规则配置后自动恢复 1. 配置磁盘空间不足自愈规则(rule.config) 2. 自愈 应用端
下面的例子是教给大家如何通过java程序,运行远程主机上的shell脚本。(我讲的不是一个黑客学习教程,而是使用用户名密码去执行有用户认证资格的主机上的shell脚本)。并且通过java程序获得shell脚本的输出。 首先通过maven坐标引入JSch依赖库,我们正是通过JSch去执行远程主机上的脚本。
当你有多台服务器,如果一台一台登录上去管理那就说不出的麻烦,所以批量管理工具就应运而生了。只要你设置了SSH无密码登录:
查看进程pid, ll /proc/<pid>/fd 发现, stderr也就是fd为2的文件, 竟然是个pipe, 是个broken pipe, 错误的地方找到了
功能 pssh是一个用于在多台主机上并行执行ssh的命令,方便多台Linux的管理。 常用选项 -i 每台主机执行完后显示标准输出和标准错误 -H 指定远程地址,该地址可以同时给出多个,格式为[user@]host[:port],也可以和-f选项配合使用。 -h 指定主机列表文件,也就是说可以从文件中读取主机列表。 -t 指定超时时间,单位是秒,参数为0表示永不超时。 -o 将输出结果保存到指定的文件 -A 提示输入密码,这样做的目的是密码不会保存在命令历史记录里。 -l 指定ssh连接用户名-x 传递额外
踩过的坑,实在不想再踩了,记录记录。 CURL错误列表 curl_exec($ch);//执行curl if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch);//出错输出错误 } curl_close($ch);//关闭curl 同理,像正则,Json,数据库这些出错时基本都会有提供有帮助的错误信息 CURL状态码列表 状态码 状态原因 解释 0 正常访问 1 错误的协议 未支持的协议。此版cURL 不支持这一协议。 2 初始
Paramiko是Python的一个SSH客户端和服务器库,可以实现SSHv2协议的加密和身份验证功能,支持SFTP和SCP协议。在本文中,我们将介绍如何使用Paramiko库来建立SSH连接、执行远程命令、传输文件等。
parallel-ssh 是为小规模自动化而设计的异步并行的 SSH 库,包括 pssh、pscp、prsync、pslurp 和 pnuke工具,其源代码使用 Python语言编写开发的。该项目最初位于Google Code上,是由Brent N.Chun编写和维护的,但是由于工作繁忙,Brent于2009年10月将维护工作移交给了Andrew McNabb管理。到了 2012年的时候,由于Google Code的已关闭,该项目一度被废弃,现在也只能在 Google Code 的归档中找到当时的版本了。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
https://pypi.python.org/pypi/paramiko/1.15.2
SSH开启端口转发需要修改 /etc/ssh/sshd_config配置文件,将 GatewayPorts修改为yes
Expect是UNIX系统中用来实现自动化控制和测试的软件工具,作为Tcl脚本语言的一个扩展应用在交互式软件中,如Telnet、FTP、SSH等。
在软件测试的过程中,涉及到远程Linux主机环境测试的时候,难免会遇到需要执行shell命令的场景,比如通过shell命令去配置一些环境或者去检查用例执行的结果等等,那么就是用到了比较常用的工具paramiko。
SSH 是 Secure Shell 的缩写,是一种远程网络协议,用于通过 TCP/IP 网络安全地连接到远程设备,例如服务器和网络设备。
对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使用ssh的经验而言,做一些总结记录来下。 -bash: ssh: command not found 解决办法; yum install -y openssh-server openssh-clinets (0)ssh登录时提示:Read from socket failed: Connection reset by peer. 尝试了很多解决方案均无效,无奈!
说明:Restic是使用Golang写的一款开源免费且快速,高效和安全的跨平台备份程序,貌似和以前发的Duplicati差不多,可以存储在本地,云存储服务或远程文件服务器上,并且使用加密技术来你的数据安全性和完整性,同样支持增量备份,可随时备份和恢复备份。并支持3种主要的操作系统Linux,macOS,Windows及一些较小的操作系统FreeBSD,OpenBSD等。
昨天还是能正常推送代码的,今天push报如下错误 Failed with error: ERROR: You’re using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type. Could not read from remote repository. 错误:您正在使用RSA密钥与SHA-1,这是不再允许的。请使用新的客户端或不同的密钥类型。无法从远程存储库读取数据。 执行连接测试又是通的。
Orchestrator配置说明 { Debug: false, --设置debug模式 EnableSyslog: false, -- 是否把日志输出到系统日志里 ListenAddress: ":3000", -- web http tpc 监听端口
Paramiko模块是基于Python实现的SSH远程安全连接,用于SSH远程执行命令、文件传输等功能。
[喵咪Liunx(5)集群管理利器pssh 前言 哈喽大家好呀!大家在管理服务器的时候如果只是一两台还好,当你管理三台以上的服务器的时候,你安装任何一个软件更改任何一个配置文件就要无比麻烦的每一台机器
expect 是一个自动化交互套件,主要应用于执行命令时,以交互形式按照要求输入指定字符串,实现自动交互。
Linux之expect工具是一个根据脚本与其他交互式程序进行交互。通过在脚本中设定期望值和响应值进行交互操作。主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。 以SSH KEY 生成以及发送到远程服务器为例简单介绍下expect工具 expect 启用选项: -c执行脚本前先执行的命令,可多次使用-ddebug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用exp_internal 1相似。-D启用交换调式器,可设一整数参数。-f从文件读取命令,仅用于使用#!时。如果文件
因为常常须要到几十台机器上运行同样的命令,而眼下机器上还没有部署Saltstack或Puppet等集群化管理工具. 因为每台server上都使用同样的公钥,故之前都是写一些脚本:把IP 放到一个文件里,再依次从文件里读取一个IP ,通过SSH用密钥登录到目标机器上运行命令.刚開始使用的时候,认为还能够接受,至少比手动登录到每一台机机器上要省时省力.可是,后面发现有的机器SSH连接比較慢,须要等一会儿,因为是顺序的单进程运行,所以认为有点慢,想要更快一点. 后来.通过查阅,发现了pssh这个工具,于是就抽时间实践了一下,以下是我的一些实践跟使用心得(安装方法我就不在此叙述了):
ansible是python中的一套模块,系统中的一套自动化工具,可以用作系统管理,自动化命令等任务
本篇主要介绍我们安装完毕Git后,如何创建作者和绑定邮箱,以及如何拉取和推送代码。并介绍这些命令的实际作用。
这篇文章介绍如何通过使用Paramiko和SCP Python库自动化远程服务器任务。使用Python来SSH到主机,执行任务,传输文件等。
Ansible服务端使用了默认的SSH无代理方式与客户端通信,效率远低于有代理的通讯方式,然而通过本文,您将学习到如何通过配置优化,来加速Ansible的执行速度,以提高自动化运维的工作效率,做到等同于有代理通讯方式的效率,包括:
提示:建议将PIP升级到最新:pip install --upgrade pip。
那时候的容器之间都没有进行物理的隔离,都是部署在同一个jvm上的。所以久而久之,它们之间互相的耦合互相的依赖,业务之前有千丝万缕的,添加和修改增加新的业务的时候,他们变的很复杂,经常导致服务不可用。这个时代就是有了层次,但是层次之前没有进行物理的隔离。带来了一些问题。
最近在跟一个自动化发布平台的建设事项,其中 Linux 系统的远程控制通道则由我独立开发完成,其中涉及到了 Linux 系统远程命令和文件传输操作。 因为之前写 Linux 系统密码管理系统的时候,用的是 Paramiko 的 SSHClient。所以,我这次依然采用 Paramiko 来做实现,代码虽短,说起其中的坑,我也是一把辛酸一把泪的填上了。 先上完整代码:、 # -*- coding: utf-8 -*- import os import socket import paramiko import
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
WebSSH是一种通过Web浏览器远程连接到SSH服务器的技术。它允许用户在不需要本地SSH客户端的情况下,通过Web浏览器连接到远程服务器并执行命令。WebSSH的实现原理是通过WebSocket协议在Web浏览器和SSH服务器之间建立一个双向通信通道,使得用户可以在Web浏览器中输入命令并将其发送到SSH服务器,同时也可以接收SSH服务器的输出并在Web浏览器中显示。
通常默认公有云上的ECS远程连接,很容易断开,当你有什么事情被打断或者去操作别的机器同步做点其他事情,你会发现你SSH客户端登录窗口经常会断开掉,非常烦人,经常要重新登录。
在日常工作中我们经常会跟Linux打交道,对于测试同学来说,使用Linux的场景还是比较多的,比如:搭建测试环境、查看日志信息、修改配置文件、监控服务资源等(关于Linux的更多应用可参考往期文章「学会Linux,看完这篇就行了!」)。
现代的 Shell 对程序提供了最小限度的控制(程序的开始/停止/关闭等),而把交互的特性留给了用户。这意味着有些程序,你不能非交互的运行,比如说 passwd 命令。有一些程序可以非交互的运行,但在很大程度上丧失了灵活性,比如说 fsck 命令。这表明 Unix 的工具构造逻辑开始出现问题。Expect 恰恰填补了其中的一些裂痕,解决了在 Unix 环境中长期存在着的一些问题。
前面介绍了企业常用服务 NFS 、 FTP 、 DHCP 、DNS 、Samba 、lsyncd 、Postfix 、Squid 、Varnish 相关的知识点,今天我将详细的为大家介绍 自动应答工具 expect 相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发朋友圈支持一波!!!
是指登录时,需要提供用户名密码的shell,如:su – user1 , 图形登录, ctrl+alt+F2-6进入的登录界面。 这种Login shell 执行脚本的顺序: 1./etc/profile 【全局profile文件;它定义了LoginUser的 PATH, USER, LOGNAME(登录使用者帐号)】 2. /etc/profile.d/目录下的脚本 3. ~/.bash_profile 【搜索命令的路径 ——————- 登录级别 环境变量配置文件 】 4. ~/.bashrc 【存储用户设定的别名和函数 ———- shell级别 环境变量配置文件】 5. /etc/bashrc 【全局bashrc文件; 它主要定义一些 Function 和 Alias;更改/etc/bashrc会影响到所有用户,由root用户管理。】
我们在使用Git进行数据提交或者拉流的时候,有考虑到为什么速度那么快么?或者Git的数据提交是按照什么样的协议呢?
paramiko是基于python实现的ssh2远程安全连接,支持认证及密钥方式。可以实现远程命令执行,文件传输、中间ssh代理等功能。
我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而expect就使用来实现这种功能的工具。
你是 Windows 程序员,且正在开发仅运行在 Windows 上的项目,可以设置 false 取消此功能,把回车保留在版本库中:
sync 是一个常用的 Linux 应用程序,用于文件同步。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代 cp 和 mv 命令。 它名称里面的 r 指的是 remote,rsync 其实就是 “远程同步”(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。
curl是一个命令行工具,用于使用任何受支持的协议HTTP、FTP、IMAP、POP3、SCP、SFTP、SMTP、TFTP、TELNET、LDAP或FILE向网络服务器传输数据或从网络服务器传输数据,其被设计成无需用户交互即可工作,因此非常适合在shell脚本中使用,该软件提供代理支持、用户身份验证、FTP上传、HTTP posting、SSL连接、cookie、文件断点传输、metalink等功能。
在写这个小工具之前,我就在想一定要非常简单,足够简单,所以这里用了不到 200 行代码,写了一个,可以说是非常简单。
Jekyll是一个静态站点生成器,它提供了内容管理系统(CMS)的一些优点,同时避免了此类数据库驱动的站点引入的性能和安全问题。它具有“博客意识”,并包含处理日期组织内容的特殊功能,但其用途不仅限于博客网站。Jekyll非常适合需要离线工作的人,更喜欢轻量级编辑器和Web表单进行内容维护,并希望使用版本控制来跟踪他们网站的变化。
近段时间用Python写一个小东西,每次修改代码后要手工上传到服务器,觉得很麻烦,虽然有WinSCP,找了一下资料,发现paramiko可以实现自动上传文件的功能,可惜的是,折腾了半天,在Python3.3下没有成功,最后退而求其次安装了2.7才弄好,记录如下:
本地分支和远程分支各自有提交,这时,如果直接pull,会要求将远程分支merge到本地,这样虽然可以,但是确实产生一个无用的merge 提交记录。
网络 rz # 通过ssh上传小文件 sz # 通过ssh下载小文件 ifconfig eth0 down # 禁用网卡 ifconfig e
领取专属 10元无门槛券
手把手带您无忧上云