寰宇001
来自火星的地球人。
展开
-
1 在 Linux 下开机自动重启脚本(亲测)
1、简介经常碰到机器断电之后需要重启一大堆服务,为了防止这种事情发生,设置开机自启的脚本十分的重要,我们习惯性的做法就是编写一个重启脚本,然后在 /etc/rc.local 中去完成开机执行。例如下面这样:# chmod +x /etc/rc.local# vi /etc/rc.local/usr/local/nginx/sbin/nginxservice start tomcat/usr/local/apache/bin/apachectl startservice mysql star/原创 2021-07-21 10:25:26 · 2969 阅读 · 7 评论 -
Shell脚本实现SSH免密登录及批量配置管理
本节索引场景分析ssh免密登录pssh工具批量管理SHELL自动化脚本本篇总结场景分析作为一个运维工程师,不是每个人工作的环境都想阿里、腾讯那样,动不动就上亿的PV量,上万台服务器。我们通常还是工作在,几十台上百台服务器这样的环境,而使用ansible或者puppet这样的自动化运维工具则显得大材小用,并且最终的效果可能还不如几个小工具达到的效果好。像ssh免密登录在配合pssh这样...原创 2019-11-26 16:59:51 · 4475 阅读 · 1 评论 -
局域网中服务器群配置ssh免密
笔者以前配置ssh免密登陆,基本两步就可以了, ssh-keygen删除密钥对, ssh-copy-id公钥复制到远程主机,完成密钥对部署。但是笔者寻思,在服务器群里面怎么来配置ssh免密呢?生成密钥对,然后多次使用ssh-copy-id分发公钥吗?那未免太过于低效了。于是想着使用ssh-copy-id分发公钥时做个循环来解决,在网络上找到一个脚本可以实现这个功能。如下:#!/bin/bashyum -y install sshpass &> /dev/nullUserName=转载 2021-09-22 14:48:48 · 420 阅读 · 0 评论 -
Smartmontools检测硬盘坏道
导读坏道是一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的。随着坏道的继续积累,它们会对你的磁盘或闪存容量产生令人不快或破坏性的影响,甚至可能会导致硬件失效。坏块的存在警示你应该开始考虑买块新磁盘。在Linux上使用坏块工具检查坏道坏块工具可以让用户扫描设备检查坏道或坏块,设备可以是一个磁盘或外置磁盘,由一个如 /dev/sdc 这样的文件代表。首先,通过超级用户权限执行 fdisk 命令来显示你的所有磁盘或闪存的信息以及它们的分区信息:sudo fdis转载 2021-08-15 14:43:37 · 1123 阅读 · 0 评论 -
批量自动化配置Dell服务器idrac管理口IP
背景说明工作中经常会遇到一次上几十台、几百台服务器的情况每当到这个时候小伙伴们拿台笔记本和一根网线,一台服务器、一台服务器的去修改idrac IP为了节约这个工作量,利用dell的racadm工具,写了下面这个脚本。只要运行起这个脚本,后面要做的就只是插拔网线的工作安装racadm工具包[root@localhost ~]# curl -s http://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash[root@localhost ~转载 2021-08-12 17:00:51 · 1034 阅读 · 0 评论 -
linux屏蔽海外流量的两种方法
方法一:使用大神的开源脚本,屏蔽指定国家地区的IP访问wget https://raw.githubusercontent.com/iiiiiii1/Block-IPs-from-countries/master/block-ips.shsh block-ips.sh方法二:使用IPIP的数据库进行流量屏蔽(推荐,目前已支持centos6和7还有ubuntu系统)#!/bin/bash#判断是否具有root权限root_need() { if [[ $EUID -ne 0 ]]; th转载 2021-08-12 16:13:23 · 786 阅读 · 0 评论 -
Linux shell中2>&1的含义
转载来源 :Linux shell中2>&1的含义作者:一个行走的民https://blog.youkuaiyun.com/zhaominpro/article/details/826305281 和 2 在 Linux 中代表什么在Linux系统中0 1 2是一个文件描述符从上表看的出来,我们平时使用的echo "hello" > t.log 其实也可以写成echo "hello" 1> t.log关于2>&1的含义关于输入/输出重定向本文就不细说了,转载 2021-06-10 10:43:49 · 430 阅读 · 0 评论 -
Shell脚本 – 查看网络接口信息
转载来源 :Shell脚本 – 查看网络接口信息https://mp.weixin.qq.com/s/qdEzm-GcoFYvC50XWfchrQ本文介绍如何是用shell脚本查看网络接口的ip地址、MAC地址、网络速率等信息。系统环境Centos71)检查可用的网络接口使用ip和awk命令,过滤出状态为UP的网络接口。[root@localhost ~]# ip ad|awk '/state UP/ {print $2}'ens33:ens38:2)查看网络接口的IP地址使用下面转载 2021-06-10 10:08:06 · 1069 阅读 · 0 评论 -
MegaCli的相关shell脚本
1、cat megacli.sh#!/bin/bash#-------------------------------------------------- #Created:2015-05-22#Author:jimmygong#Mail:jimmygong@taomee.com#Function:#Version:1.0#--------------------------------------------------function megacliaction (){转载 2021-04-23 17:45:46 · 296 阅读 · 0 评论 -
mysql备份单实例(一)shell
一、脚本说明1、需要备份2个库(mysqltest1 mysqltest)2、开启4个进程3、可以选择进行备份不压缩和备份压缩4、可以对不需要的数据库剔除5、backup用户在数据库里的权限grant select,reload,super,lock tables,create view,show view on *.* to 'backup'@'localhost' identified by 'backup';flush privileges;6、计划任务00 00 * * * cd转载 2021-04-23 17:41:42 · 219 阅读 · 0 评论 -
linux下telnet批量验证某端口开放
1、ip库cat iplist.txt10.1.1.110.1.1.210.1.1.310.1.1.410.1.1.52、相关脚本cat telnet.sh #!/bin/bash#--------------------------------------------------#Author:jimmygong#Email:jimmygong@taomee.com#FileName:telnet.sh#Function: #Version:1.0 #Created:20转载 2021-04-23 17:31:06 · 590 阅读 · 0 评论 -
获取交换机带宽超过阀值就报警
一、基础环境1、版本cat /etc/debian_version 7.82、内核uname -r3.2.0-4-amd643、ip(eth0)10.1.10.185二、具体脚本#!/bin/bash#--------------------------------------------------#Author:jimmygong#Email:jimmygong@taomee.com#FileName:shcnc.sh#Function:获取交换机带宽超过阀值就发短消转载 2021-04-23 17:27:10 · 699 阅读 · 0 评论 -
shell编写yum安装监控zabbix脚本
#!/bin/bash#zabbix 5.0 #安装zabbix源、修改为aliyun源cd /etc/yum.repos.d/rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmsed -i.bak 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' zabbix.reposed -i 's#enabled=0#ena转载 2021-04-23 16:27:06 · 219 阅读 · 0 评论 -
常用正则表达式最强整理(速查手册)
一、校验数字的表达式1、数字:1*$2、n位的数字:^\d{n}$3、至少n位的数字:^\d{n,}$4、m-n位的数字:^\d{m,n}$5、零和非零开头的数字:^(0|[1-9][0-9]*)$6、非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7、带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$8、正数、负数、和小数:^(-|+)?\d+(.\d+)?$9、有两位小数的正实数:2+(.[0-9]{2})?$10、有1~转载 2021-04-22 11:09:42 · 539 阅读 · 0 评论 -
SHELL编程Nginx源码多版本脚本
转载来源 :京峰教育因为Nginx是基于C语言开发的源代码程序,默认不能被Linux操作系统直接识别和使用,需要经过C编译器将源代码文件编译生成二进制文件方可,要执行源码软件部署三个步骤。预编译,./configure --prefix=/usr/local/nginx --user=www–group=www --with-http_stub_status_module存在GCC编译环境(C编译器),指定软件服务部署的路径,自定义软件服务特定的功能和模块,会产生Makefile文件。编译,原创 2021-04-21 10:39:21 · 257 阅读 · 0 评论 -
一键安装nginx(auto_nginx_install.sh
#!/bin/bash#auto install nginx#by 杨进 2021-02#nginx define path variable#加入变量后期维护更加简单,智能化#替换所有的的 %s#yum install -y#$NGINX_YUM#g#删除nginx-1.12.2.tar.gz后面的 .tar.gz sed 's/.tar.*//g'NGINX_VER=1.12.2 #如果改成$1 启动脚本 sh auto_install_nginx_v2.sh XXX.转载 2021-04-20 11:22:19 · 470 阅读 · 0 评论 -
shell编写一键安装mysql.sh
首先不管安装什么软件都要把一些依赖包安装好:Centos/redhat 安装yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml2 libxml2-devel libgcrypt libtool bisonUbuntu安装apt-get install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib转载 2021-04-20 11:20:30 · 266 阅读 · 0 评论 -
Ubuntu 20.04开机自启脚本(亲测、扩展centos)
1、新建一个脚本 /root/shell/postgres.sh#vi /root/shell/postgres.sh/etc/init.d/postgresql start2、修改/lib/systemd/system 中的 rc.local.service :添加vi /lib/systemd/system/rc.local.service[Install] WantedBy=multi-user.target Alias=rc-local.service3、新建 sudo touc原创 2021-04-20 11:15:44 · 8067 阅读 · 0 评论 -
Centos Ubuntu防爆破ssh脚本
Centos 7方式黑名单IPtouch /etc/black.txtssh 防爆破脚本cat /etc/secure_ssh.sh #!/bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /etc/black.txt for i in `cat /etc/black.txt` do IP=`echo $i |转载 2021-04-16 11:14:09 · 389 阅读 · 0 评论 -
Shell 监控文件变化
作者:youxin 链接:https://www.cnblogs.com/youxin/p/13816303.html文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文件同步。(可用于代码自动发布)实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文件同步。(可用于代码自动发布)。inotify 是linux内核的一个特性,在内核 2.6.13 以上都可以使用。如果在shell环境下,可以安装 yum install.转载 2021-03-23 16:11:39 · 1086 阅读 · 0 评论 -
Shell同时推送代码至github和gitee的解决办法
自己写的东西,要同时推送多个git地址,解决办法如下初始化git初始化1.先要初始化你的git,进入自己的项目目录,然后执行 git initcd /app/code/go-studygit init创建执行脚本2.执行以下脚本#!/bin/bash#author Oliver#since 2020-09-03 15:24:31git remote rm origin#replace your git locationgit remote add origin 'https转载 2021-03-18 11:17:37 · 310 阅读 · 0 评论 -
编写shell脚本实现tomcat定时重启的方法
我的环境是 centos 71、 在某个目录新建一个 .sh 脚本文件(一般cron安装在var/spool/cron这里,于是我就将脚本创建在这)vim /var/spool/cron/tomcatStart.sh2、 在 tomcatStart.sh 文件里面写入一下代码#!/bin/bash/etc/profiletomcatPath="/usr/local/tomcat"binPath="$tomcatPath/bin"echo "[info][$(date)]正在监控tomca转载 2021-03-16 15:13:10 · 490 阅读 · 0 评论 -
Centos定时备份 MySQL数据库
一、编写数据库备份脚本 backupmysql.sh#!/bin/bash# Name:bakmysql.sh# This is a ShellScript For Auto DB Backup and Delete old Backup #备份地址backupdir=/data/mysql/dwy/mysqlbackup; #备份文件后缀时间time=_` date +%Y_%m_%d_%H_%M_%S` #需要备份的数据库名称db_name=database #mysql 用转载 2021-03-16 10:05:40 · 436 阅读 · 0 评论 -
1 shell备份数据库MYSQL案例
Linux下定时执行任务 crontab 每天自动备份数据库MYSQL1,创建一个目录,用来存放你的数据库备份文件cd /mkdir backupcd backup2,创建备份脚本文件vi bkDataBase.sh!1:#!/bin/bashmysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql!2:#!/bin/bash原创 2021-01-11 14:00:55 · 385 阅读 · 0 评论 -
Shell中各种括号的作用:()、(())、[]、[[]]、{}、>、>>、$()、${}
一、小括号,圆括号()1、单小括号 ()①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。②命令替换。等同于cmd,shell扫描一遍命令行,发现了结构,便将(cmd)结构,便将(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到来命令。有些shell不支持,如tcsh。③用于初始化数组。如:array=(a b c d)2、双小括号 (( ))①整数扩展原创 2020-12-10 11:31:04 · 5013 阅读 · 0 评论 -
find命令使用案例
例子:#查找当前目录下名为hello.doc的档案find ./* -name “hello.doc”#查找/root目录下所有名称以.log结尾的档案find /root -name “*.log”#不区分大小写查找档案jacobfind -iname “jacob”#查找计算机中所有的空文档find / -empty#查找计算机中所属组为tom的档案find / -grou......原创 2019-03-10 15:17:35 · 1024 阅读 · 1 评论 -
Linux shell 逻辑运算符、逻辑表达式、通配符、元字符、转义符详解
一、逻辑运算符1、逻辑卷标表示意思1)关于档案与目录的侦测逻辑卷标-f 常用!侦测『档案』是否存在 eg: if [ -f filename ]-d 常用!侦测『目录』是否存在-b 侦测是否为一个『 block 档案』-c 侦测是否为一个『 character 档案』-S 侦测是否为一个『 socket 标签档案』-L 侦测是否为一个『 symbolic link 的档案』-e 侦测『某个东西』是否存在!2)关于程序的逻辑卷标-G 侦测是否由 GID 所执行的程序所拥有-O 侦测是否转载 2020-11-05 15:29:45 · 11391 阅读 · 0 评论 -
1 CentOS7通过定时脚本阻断异常IP连接SSH(实测)
原理:通过定时脚本检查系统登录失败日志/var/log/secure,统计每个IP失败登录次数,当统计到失败次数大于阀值时,将IP加入系统屏蔽名单/etc/hosts.deny中。1、编辑脚本文件secure_ssh.sh#! /bin/bashcat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /home/black.txtfor i in `cat /home/b转载 2020-10-27 15:32:33 · 1639 阅读 · 0 评论 -
如何通过 Shell 监控异常等待事件和活跃会话
前几天有网友在墨天轮平台上问到“如何写一个定时任务监控用户会话连接数”的问题,由于当时比较忙,回答的比较简单也比较匆忙。最近也因为公司新项目老是加班,运维保障,安装 RAC、搭建 DG 、故障处理等等,占据了很大个人时间,休息充电的时间难免减少了很多,今日利用闲暇时间,来继续说一说监控会话相关的这个话题。通常我们平时都是通过运行 SQL 语句直接查询 V$SESSION 视图得到结果,然后直接输出到屏幕上,具体的 SQL 如下:--- 查看用户会话select username,count(usern转载 2020-09-30 10:47:12 · 403 阅读 · 0 评论 -
Shell 脚本来监控 Linux 系统的内存
一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)1、下载安装:http://downloads.sourceforge.net … 206451&big_mirror=0# tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install2、创建msmtp配置文件和日志文件(host为邮件域名,邮件用户转载 2020-09-11 17:25:18 · 461 阅读 · 0 评论 -
44个实用的Apache Web Server面试问题及答案
Apache HTTP是Windows和UNIX的开源Web服务器,也是最受欢迎的Web服务器,如果您打算以中间件/系统/ Web管理员的身份工作,则必须熟悉它。1.如何停止/启动Apache Web服务器?您可以通过转到Apache实例位置>> bin文件夹重新启动并执行apachectl脚本。./apachectl stop./apachectl start复制您也可以使用/etc/init.d/中的脚本。通常将其命名为“ apache”或“ httpd”/etc/init.d转载 2020-09-08 21:56:06 · 1247 阅读 · 0 评论 -
Shell面试题
1.在 shell 脚本成功执行前,如何中断脚本执行?解答:我们需要使用exit命令来实现以上描述的情境。exit命令被强制输出非0值时,脚本会报错并退出。在 Unix 环境下的 shell 脚本中,0值表示成功执行。因此,在脚本终止前执行一个不带引号的exit -1命令将使脚本中止。#!/bin/bashecho "Hello"exit-1echo "bye"保存文件并执行。# sh linuxmi.shHellolinuxmi.sh:行3: exit-1: 未找到命令bye从转载 2020-09-08 21:38:48 · 3075 阅读 · 0 评论 -
Grep命令常见用法
使用Grep命令查找多个字符串多模式 Grep 命令grep 命令支持三种正则表达式语法:Basic、Extended 和 Perl-compatible 。当没有指定正则表达式类型时,grep 命令将搜索模式默认为基本正则表达式。要搜索多个匹配模式,可以使用 OR ( alternation ) 运算符。我们可以用 OR 运算符 |( pipe )指定不同的匹配项,这些匹配项可以是文本字符串,也可以是表达式集。值得注意的是,在所有正则表达式运算符中,这个运算符的优先级是最低的。使用 grep 命令原创 2020-09-07 08:03:28 · 5284 阅读 · 1 评论 -
sed命令常见用法
运用sed命令高效地删除文件的特定行1. 删除某一行首先,我们先从删除某一行开始,比如删除第一行、最后一行,实际也就是第 N 行嘛。删除第 N 行的命令格式:sed 'Nd' file删除最后一行# sed '$d' sed-demo.txt2. 删除某些行sed 命令可以删除连续又或者不连续的行内容。删除连续的行,例如删除从 5 到 7 行 的内容:# sed '5,7d' sed-demo.txt删除不连续的行,例如删除第 1 、第 5 、第 9 和最后一行:# sed '原创 2020-08-28 10:06:05 · 11496 阅读 · 0 评论 -
日志清理脚本
需求背景解决某些中间件或者应用日志无法自动清理的情况,比如:Nacos 的 access 日志清理,临时目录文件清理等。简介Filename clear-logs.shRevision 0.0.3Date 2020/06/05Author jianglihengEmail jiang_liheng@163.comWebsite https://github.com/jiangl转载 2020-07-30 09:59:38 · 714 阅读 · 0 评论 -
Windows下的脚本在Linux中运行乱码问题
dos下写的代码,拿到linux下,存在不兼容。解决办法:sudo vim translate.py:set ff=unixpython脚本增加可执行权限sudo ln -s /xxxx/xxxx/xxxx/translate.py /usr/local/bin/dictsudo chmod +x ./translate.py然后在执行 ./translate.py/xxxx/xxxx/xxxx/ ,是translate.py所在的绝对路径/usr/local/bin/dict,原创 2020-07-23 14:39:21 · 529 阅读 · 0 评论 -
crontab定时任务常见问题
如果没有cron的话按下面的方式进行安装apt-get install cron1、首先创建一个定时任务:每分钟向屏幕输出"Hello world!"。有两种实现方式:1)输入crontab -e命令,根据提示直接在当前cron task文本最后面插入如下命令(记得回车):* * * * * echo "Hello world!"2)由于每个用户的定时任务都在/var/spool/cron/crontabs目录下有个与用户名一致的任务文件,因此也可以通过vim直接编辑:sudo vim /原创 2020-07-23 13:33:11 · 1493 阅读 · 0 评论 -
shell经典面试题根据文件创建用户名及密码(亲测)
转载来源 :shell经典面试题根据文件创建用户名及密码 : https://www.jianshu.com/p/eeb455eef7ca01 前言shell脚本已经学习了很长一段时间了,现在时不时来看一些经典的面试题,复习一些常用知识点,温故知新,为明天做准备~02 根据文件内容创建用户名及密码背景:写一个脚本,满足一下需求及应用,如一个文件的内容如下,根据文件内容实现批量创建用户,第一列为用户名,第二列为密码测试文件test.list这个题目相信大家都很熟悉了,面试甚至是实际工作应用当转载 2020-07-06 11:50:06 · 1102 阅读 · 0 评论 -
Shell脚本监控LVS后台服务器存活状态
简介在生产工作中,后台的服务器并不可能永远都处于正常运行状态,若服务器发生宕机,为了不影响正在进行的业务以及给用户更好的体验,我们需要通过编写监控脚本对LVS的后台主机存活情况进行监控,当有服务器发生故障时,脚本会从LVS转发策略删除该服务器的转发规则;等到服务器恢复正常后,脚本也将把该服务器的转发规则重新加入LVS转发策略中;若所有的后台服务器都宕机了,则脚本会自动把虚拟ip的端口转发到本机端口,起到缓冲作用前期准备配置LVS负载均衡策略 详情可参考https://blog.51cto.com/14转载 2020-06-28 11:04:36 · 561 阅读 · 0 评论 -
linux中用shell脚本对tomcat和nginx做日志切割
Tomcat日志catalina.out切割小脚本#!/bin/bash#cut tomcat catalina.outyesterday=`date +"%F" -d "-1 days"`cd /usr/local/tomcat7.0.70/logcp catalina.out catalina.out.$yesterday echo > catalina.outexit可以解决catalina.out日志过大问题。脚本只是其中一个办法,也可以自己手工配置或使用其他工具转载 2020-06-19 11:51:00 · 271 阅读 · 0 评论