shell | sshpass 批量传输文件及执行命令
介绍一下使用 sshpass 通过读取配置文件的方式批量下发文件和执行命令 ...
介绍一下使用 sshpass 通过读取配置文件的方式批量下发文件和执行命令 ...
脚本内容如下, 替换钉钉 bot 的 token, 将脚本放至 crontab 执行即可 #!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # 设置要检测的网页URL urls=("https://emp.cnpc.com.cn/index.html" "https://mdm.cnpc.com.cn/") #urls=("https://emp.cnpc.com.cn/index.html" "https://mdm.cnpc.com.cn/" "https://www.956100.com" "https://mm.956100.com" "https://app.956100.com") # 钉钉机器人的 webhook 地址 webhook="https://oapi.dingtalk.com/robot/send?access_token=******************************" # 最大连续无法访问次数 max_attempts=3 # 设置并发进程数为 URL 数量 max_concurrent=${#urls[@]} # 初始化计数器 completed=0 for url in "${urls[@]}"; do # 在后台启动一个子进程进行测试 ( attempts=0 while [ $attempts -lt $max_attempts ]; do # 使用curl获取网页内容,并保存HTTP ...
zabbix 中通过 shell 脚本监控指定 agent 到指定 ip:port 的端口连通性, 不连通时自动触发 traceroute 追踪路由并记录到日志 ...
zabbix 中通过 shell 监控定时监控流量, 配置聚合图形, 以及日志输出 ...
0 前言 以 centos7 为例, 通常我们新装完操作系统后需要进行配置 yum 源, iptables, selinux, ntp 以及优化 kernel 等操作, 现分享一些较为通用的配置. 同时博主将这些配置整理成了脚本, 可以一键执行. 1 常用配置 1.1 iptables & selinux sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config setenforce 0 iptables -F systemctl disable --now firewalld 1.2 PS1 终端美化 cat > /etc/profile.d/PS1_conf.sh << 'EOF' export PS1="\n[\[\e[31m\]\u\[\e[m\]@\[\e[32m\]\h\[\e[m\]] -\$?- \[\e[33m\]\$(pwd)\[\e[m\] \[\e[34m\]\$(date +'%F %T')\[\e[m\] \n(\#)$ " EOF source /etc/profile.d/PS1_conf.sh 1.3 history 格式化 cat > /etc/profile.d/history_conf.sh << 'EOF' export HISTFILE="$HOME/.bash_history" # 写入文件 export HISTSIZE=1000 ...
shell 中 if 条件判断详解 ...
经常会下一些外网镜像用于测试,手动修改镜像tag然后推送在镜像较多的情况下比较繁琐,本文采用bash脚本方式批量推送不同格式的镜像 ...
0 前言 cve 官网或者工信部会发布一些 cve 漏洞,可以看到该漏洞在某次 commit 提交代码后修复的。 可以通过检索 kernel.org 中所有内核版本的 ChangeLog 文件中是否包含该 commit 来判断漏洞影响的内核版本(仅针对 linux 的 kernel 相关的漏洞) 1 脚本 #!/bin/bash # author: lvbibir # date: 2022-06-23 # 检索 kernel.org 下的所有 ChangeLog 文件,是否包含某项特定的 commit 号 commit='520778042ccca019f3ffa136dd0ca565c486cedd' version=4 number=0 curl -ks https://cdn.kernel.org/pub/linux/kernel/v$version\.x/ > list_$version cat list_$version | grep Change | grep -v sign ...
0 前言 本文参考以下链接: 详解 shell 中 source、sh、bash、./ 执行脚本的区别 1 不同的执行方式 shell 脚本通常有 sh filename、bash filename、./filename、source filename 这四种执行方式 source filename 可以使用 . filename 代替,在当前的 bash 环境下读取并执行脚本文件中的命令,且脚本文件 ...
0 前言 本文参考以下链接: Bash 脚本中的 set -euxo pipefail shell 脚本是没有 debug 模式的,不过可以通过 set 指令实现简单的 debug 功能 shell 脚本中默认每条指令都会从上到下依次执行,但是当某行指令报错时,我们大多数情况下是不希望继续执行后续指令的 这时可以使用 shell 脚本中 set 指令的四个参数:-e、-u、-x、-o pipefail 命令报错即返回值 ...
通过 shell 或者 python 的方式批量导入导出 docker 镜像 ...
代码如下 #!/bin/bash #参数定义 date=`date +"%Y-%m-%d-%H:%M:%S"` centosVersion=$(awk '{print $(NF-1)}' /etc/redhat-release) VERSION=`date +%F` #日志相关 LOGPATH="/tmp/awr" [ -e $LOGPATH ] || mkdir -p $LOGPATH RESULTFILE="$LOGPATH/HostCheck-`hostname`-`date +%Y%m%d`.txt" #调用函数库 [ -f /etc/init.d/functions ] && source /etc/init.d/functions export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin source /etc/profile #root用户执行脚本 [ $(id -u) -gt 0 ] && echo "请用root用户执行此脚本!" && exit 1 function version(){ echo "" echo "" echo "[${date}] >>> `hostname -s` 主机巡检" } function getSystemStatus(){ echo "" echo -e "\033[33m*** ...
0 前言 查看硬件信息,并将信息整合成 json 数值,然后传给前段进行分析,最后再进行相应的处理。在装系统的时候,或是进行监控时,都是一个标准的自动化运维流程。使用 shell 直接生成好 json 数据再进行传输,会变得非常方便。 1 环境 [root@sys-idc-pxe01 ~]# yum install jq lsscsi MegaCli 2 脚本内容 #!/bin/sh #description: get server hardware info #author: lvbibir #date: 20180122 #需要安装jq工具 yum install jq #用于存 ...