首页
学习
活动
专区
工具
TVP
发布

Laoqi's Linux运维专列

一线运维开发工作者的经验分享;“‘取之开源,分享之开源’”
专栏作者
361
文章
764263
阅读量
115
订阅数
Ansible 常用模块详细介绍
Ansible模块的学习已经是很久的事情了,今天正好周末,来图书馆整理下资料! 常用模块(module_name): ping 模块:测试连通性 [[email protected] ~]# ansible all -m ping 172.16.1.8 | SUCCESS => { "changed": false, "ping": "pong" } 172.16.1.41 | SUCCESS => { "changed": false, "ping": "pong"
老七Linux
2018-05-31
9990
KVM虚拟主机管理篇
磁盘格式 虚拟磁盘常用格式 raw、qcow2 //创建一个2G的 raw格式 磁盘 [[email protected] ~]# qemu-img create -f raw /kvm_data/zhdya01_2.img 2G Formatting '/kvm_data/zhdya01_2.img', fmt=raw size=2147483648 //把raw格式的磁盘转换为qcow2格式 [[email protected] ~]# qemu-img convert -O qcow2 /k
老七Linux
2018-05-31
4.8K0
日常shell练习题-03(持续更新…)
打印乘法口诀 #! /bin/bash ##printing 9*9 list ##written by zhdya_20171004 for m in `seq 1 9` do for n in `seq 1 $m` do dd=$[$m*$n] echo -ne "$n x $m = $dd \t" done echo done 写脚本,用来实现交换两个文件或目录的名字。 #! /bin/bash ##change the file or dir's name. ##writ
老七Linux
2018-05-31
1K0
Nginx在CDN加速之后,获取用户真实IP做并发访问限制的方法
从昨晚忙到现在就是为了做网站防护,为了简单抵挡一下某些XX的DDoS攻击,网站开启了百度云的免费CDN服务。 开启CDN之后,我之前写的Shell防护脚本也就宣告无效了,因为不管是正常访问还是攻击访问,脚本拿到的IP都是CDN节点的,而我不可能把CDN的节点IP也给禁用了,那就都不能访问了(其实已经犯过错了,导致天津,北京的大面积不可以访问站点,仅有几个存在的CDN可以访问!多亏朋友提示!)。 为了解决这个窘迫,我想到了以前看过的Nginx访问限制。通过查资料,让我拜读了一枚大神的神作,感觉收获颇丰!于是转
老七Linux
2018-05-31
3.7K0
shell 1>&2 2>&1 &>filename重定向的含义和区别
shell 1>&2 2>&1 &>filename重定向的含义和区别: 当初在shell中, 看到”>&1″和”>&2″始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出. 在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0 是一个文件描述符,表示标准输入(stdin) 1 是一个文件描述符,表示标准输出(stdout) 2 是一个文件描述符,表示标准错误(stderr) 在标准情况下, 这些FD分别跟如下设备关联: stdin(0): k
老七Linux
2018-05-31
4.9K0
Shell脚本配合iptables屏蔽来自某个国家的IP访问
星期六我们子公司受到攻击,我们的网络监测显示有连续6小时的巨大异常流量,我立即联系在场IT,没有得到回应,我修改和限制了他们的 VPS,使得个别 VPS 受攻击不会对整个服务器和其他 VPS 用户造成任何影响,我们一直保持这个 VPS 为开通状态(尽管一直受攻击),攻击又持续了24小时,星期天攻击仍在继续,我们忍无可忍,立即投入到与 DDoS 的战斗中(我们动态扫描屏蔽坏 IP,现在网站已恢复。整个过程很有意思,以后有时间再写一篇博客来描述)。登录到 VPS 第一件事情就是查当前连接和 IP,来自中国的大量
老七Linux
2018-05-31
2K0
awk中使用shell变量
需求:在shell中使用awk命令时,awk会调用shell中的变量。比如根据数字for循环。 for i in `seq 1 5` do      awk '{print $$i}' filename  done 这个里面的$i按理说应该是1到5数字,但是awk中并不会识别。 那如何才能识别到呢?应该这样用: A=44; echo "ABCD" | awk -v a=$A ’{print a}’ 说明:-v选项用于定义参数,这里表示将变量A的值赋予GET_A。 有多少个变量需要赋值,就需要多少个-
老七Linux
2018-05-31
1.5K0
每日shell练习题
(63)需求: –监控节点 一个网站,使用了cdn,全国各地有几十个节点。需要你写一个shell脚本来监控各个节点是否正常。 假如: 监控的url为www.aming.com/index.php 源站ip为88.88.88.88 以及各个节点ip列表文件为/tmp/ip.txt #!/bin/bash url="www.aming.com/index.php" s_ip="88.88.88.88" curl -x $s_ip:80 $url > /tmp/source.html 2>/dev/null fo
老七Linux
2018-05-31
4.6K0
Ansible 基础搭建配置
一、初识Ansible 在这个风起云涌的自动化运维时代,选择一个拿手的自动化工具不仅可以解放双手,更重要的是工作效率大大提升! Ansible特点 就目前的优势来说: ①轻量级;②不需要安装客户端,通过sshd通信;③基于模块工作,配置更加简单,容易上手。④使用Python开发。 二、环境配置 IP地址 作用 192.168.96.129 Server 192.168.96.135 Client 192.168.96.136 Client 只需要在 Server 端安装 Ansible 服务即可。 yum
老七Linux
2018-05-31
6910
Saltstack 基础安装配置
一、初识自动化运维 在我接触自动化运维之前,就已经感受到了自动化的魅力,相信大家都有所了解。早起我们所用到的比较多的自动化工具就是 expect 和 shell脚本,随着集群业务的日益扩张如上两种已经不可以满足我们目前的现状。 1.1 自动化优势: 传统运维效率低,大多工作人为完成。 传统运维工作繁琐,容易出错。 传统运维每日重复做相同的事情。 传统运维没有标准化流程。 传统运维的脚本繁多,不能方便管理。 自动化运维就是要解决上面所有问题。 二、常见自动化运维工具 Puppet (www.puppetlab
老七Linux
2018-05-31
5530
shell脚本 + date命令语法
讲到shell,最想说的是,真的没有任何好方法,也没有任何捷径。野路子,,,遇到不会的,那就度娘呗,学呗,练呗,一个月不行半年,半年不行一年,我就不信了。 脚本能干啥? shell脚本可以实现自动化运
老七Linux
2018-05-09
2.7K0
shell 中的if逻辑判断
if判断语句,在shell脚本中几乎是每个脚本都会涵盖判断系列的内容,这时候if就会上场。 if 的基础格式: 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if …; then … ;elif …; then …; else …; fi ---------------------------------- 可以使用 && || 结合多个条件 if [ $a -gt 5 ] && [ $a -lt 10 ]; then i
老七Linux
2018-05-09
2K0
shell中的函数+数组+数组分片
一、函数: 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。 直接来讲函数脚本吧: #! /bin/bash function inp(){ //定义一个inp的函数 echo $1 $2 $3 $0 $# } inp 1 a 2 b //传入参数 例如咱们有个脚本进行互动: sh test.sh 2 b 3 c $1 : 第一个参数 就是如上的“2” $2 :
老七Linux
2018-05-09
3.1K0
告警监控系统开发
一、需求分析 需求: 使用shell定制各种个性化告警工具,但需要统一化管理、规范化管理。 思路: 指定一个脚本包,包含主程序、子程序、配置文件、邮件引擎、输出日志等。 主程序: 作为整个脚本的入口,是整个系统的命脉。 配置文件: 是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。 子程序: 这个才是真正的监控脚本,用来监控各个指标。 邮件引擎: 是由一个python程序来实现,它可以定义发邮件的服务器、发邮件人以及发件人密码。 输出日志: 整个监控系统要有日志输出。 要求: 我们的机器角色多
老七Linux
2018-05-09
1.4K0
shell脚本备份mysql数据库
第一种方法: #!/bin/sh # 备份数据库 # Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKUP_DIR=/data/backup/mysql DATA_DIR=/data/backup/dbdata # 查询mysql中所有数据库名字 SQL_STRING="SELECT SCHEMA_NAME AS db FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mysql
老七Linux
2018-05-09
3.3K0
搭建 GIT 服务器
下载安装 git Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服务器。 安装依赖库和编译工具 为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 安装编译工具 yum install gcc perl-ExtUtils-MakeMaker 下载
老七Linux
2018-05-09
3.4K0
shell命令基本知识点
命令历史 # cat /root/.bash_history       //存放历史命令的地方 # history      //查看命令历史的条数 # echo $HISTSIZE       //查看可以保存的条数 # vim /etc/profile       //改变变量HISTSIZE的值 “/HISTSIZE” 去搜索 # source /etc/profile       //这样才能使我们刚刚修改的值生效 # vim /etc/profile →在HISTSIZE下增加 HISTTIME
老七Linux
2018-05-09
7350
shell命令基本知识点(下)
特殊符号 *       任意个任意字符 ?       任意一个字符 #      注释字符 \      脱义字符 |       管道符 # cat /etc/passwd | head    
老七Linux
2018-05-09
6040
usermod+用户密码管理+mkpasswd
usermod usermod是用来修改相关用户信息的指令。 1 #usermod -u username    @修改用户的uid 1 #usermod -g username    @修改用户的gid 1 #usermod -d /home/test username    #修改用户的家目录 1 #usermod -s /sbin/nologin username    @修改用户的
老七Linux
2018-05-09
7140
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档