Jq命令-在命令行直接解析Json文档
安装yum install -y libtool && \ wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz && \ tar -xf jq-1.5.tar.gz -C /usr/local && \ cd /usr/local/jq-1.5 && \ ./configure --disable-maintainer-mode && \ make LDFLAGS=-all-static && \ make install && \ cp /usr/local/jq-1.5/jq /sbin/ \ echo "程序已安装: `which jq`" 举个栗子,如:我这里有个API请求,在终端中得到的结果是一串json字符串,但是看起来不是那么规整,一下子还很难判断是什么格式;[root@localhost ~]# curl -s http://SERVER_IP/heal...
Flask-Login AttributeError: 'Bool' Object Has No Attribute '__Call__'
今天在使用flask-login添加用户认证的时候服务器出现了报错 而我的 base.html是这样写的: 去看官方文档吧,选择对应版本的文档(我这里是0.3.1): 再看看其前面的版本是不是这样定义的:  看吧 版本问题造成。
千里马常有,而伯乐不常有
世有伯乐,然后有千里马。千里马常有,而伯乐不常有;故虽有名马,祗辱于奴隶人之手,骈死于槽枥之间,不以千里称也。 马之千里者,一食或尽粟一石。食马者不知其能千里而食也;是马也,虽有千里之能,食不饱,力不足,才美不外见,且欲与常马等不可得,安求其能千里也? 策之不以其道,食之不能尽其材,鸣之而不能通其意,执策而临之曰:“天下无马!”呜呼!其真无马邪?其真不知马也!
MongoDB基本操作
1.删除用户mongo>use db1 mongo>show users; mongo>db.dropUser("User_name") 2.备份mongodump -h 127.0.0.1:27017 -d health_init -u=health_init -p=health_init -o /tmp/ 3.恢复mongorestore -d health_test --drop -u=dachenadm -p=dachen@ad /tmp/health_ini 4.授权:#创建一个角色: use amdin;db.createRole({role:'sysadmin',roles:[],privileges:[{resource:{anyResource:true},actions:['anyAction']}]}) #授权一个用户 use health;db.createUser( { user: "health", pwd: "healthnx", roles: [{ role: "sysadmin", db:...
Jenkins配置令牌远程触发项目构建
我们在执行Jenkins的项目构建的时候一般都是通过web管理界面中的”构建”来执行项目构建操作,但是除此之外我们还可以通过项目配置中的”构建触发器”来触发构建操作,其中”构建触发器”有一种方式是通过配置令牌远程触发项目构建;要启用Token(令牌)远程触发项目构建首先要保证Jenkins服务安装了build-token-root 插件,并且配置了Jenkins的身份验证(不是必须)。 该如何使用这个插件呢? 打开一个Jenkins Project –> 配置 然后在我们自己的工作机上编写一条远程执行的命令即可,其实就是一条POST请求,如: 在我们工作机上直接执行该curl请求就可以执行项目的构建啦,而不再需要点击页面中的”构建”,用这种方式主要还是习惯吧,敲命令的感觉还是挺好的;一般为了方便我都是写到一个脚本里面去执行,如果有多个项目也可以通过传参啊,多个参数(项目)一起执行构建;看自己的工作环境而定吧,在解决问题的情况下,加快个人工作效率的情况下还是怎么简单怎么来吧。下图就是我执行了这条命令的结果,跟我们手动在web界面点击”构建”是一样的效果。
Lvm的创建
1. 查看磁盘:[root@localhost ~]# fdisk -l ...... 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 ...... 2. 对两块磁盘进行lvm格式分区fdisk /dev/sdb/ --> n --> p --> 分区号(默认) --> 起始扇区(默认) --> last扇区(默认) # 修改分区格式 t --> 8e Linux LVM(分区格式为lvm) --> w (保存) # 退出后对...
MySQL报错ERROR 1030 (HY000): 解决过程
问题: 今天开发同事在执行jenkins自动化构建时,由于执行一个mysql更新的操作导致构建失败,报错如下: 这个文件主要是开发用于执行构建部署的时候更新数据库的sql文件,里面有大量的插入语句; 登录到测试服务器将jenkins中的语句在命令行执行了一遍还是报同样的错误 看到这个报错貌似与存储引擎有关系,于是登录到mysql中执行了以下操作 解决思路 1.看了下具体错误代码 在tmp下没有这个文件?但是这个文件时临时生成的,本来就应该没有啊! 那就是创建的时候出错了?! 2.查看了一下磁盘空间,我滴个乖乖,原来第一块磁盘满了 好吧,清理了一些文件 再次执行构建,顺利完成!
我的51CTO博客文章链接汇总
将之前在51CTO的所有博客整理了一番, 点击文章名称就可以跳到51cto读阅啦^o^ 集群/高可用/负载均衡LVS_NAT实现过程… LVS_DR实现过程… Keepalived基础知识 Linux HA集群之DRBD详解 基于keepalived的Haproxy高可用配置 分布式分布式缓存varnish简介 分布式文件系统MogileFS简介 数据库Mysql知识总结(一) Mysql知识总结(二) Mysql知识总结(三) MariaDB/Mysql之主从架构的复制原理及主从/双主配置详解(一) MariaDB/Mysql之主从架构的复制原理及主从/双主配置详解(二) MariaDB之备份恢复准则(三) MariaDB之基于mysqldump与lvm-snapshot备份恢复Databases or Tables(一) MariaDB之基于Percona Xtrabackup备份大数据库【完整备份与增量备份】(二) Linux 剖析Linux系统-小倒腾之Linux DIY定制裁剪(附带简单网络功能)o_o(一) Linux系统-小倒腾之Linux DIY定制裁剪(New ...
Zabbix微信报警
一、注册微信公众号首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。 通过扫描过后就可以看到已经有一个用户关注啦;于是我们这里需要查看用户的ID 点击 “用户管理”,然后点击一下用户的头像,这时候我们可以在浏览器的地址栏就可以看到一个这个,其中红色部分就是用户的微信ID啦,先记下这个ID https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=250995555&token=94167798&lang=zh_CN 二、下载并配置微信公众平台私有接口1.获取代码 git clone https://github.com/lealife/WeiXin-Private-API 2.修改zabbix配置文件 [root@Control-machine ~]# cp -r WeiXin-Private-...
Saltstack利用Returners程序保存执行结果到mysql
在我们执行saltstack的时候,minion端会返回一大堆的执行结果显示在master端,那如何将每一次slat执行的结果这些结果保存起来便于日后查询,这里就用到了saltstack的返回程序Returners,可以保存在Redis,Mongodb,MySQL等这些程序当中; 注意这的返回并不是将执行结果返回给master,master再写入到MySQL或者Redis中,而是salt-minion端直接向MySQL或者Redis中写, 下面是操作步骤: 1.安装软件包 master端:yum install -y MySQL-python mysql mysql-serverminion端:yum install -y MySQL-python 2.建立数据库,创建salt所需要的数据库及表结构 CREATE DATABASE `salt` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; USE `salt`; ---- Table structure for table `jids`DROP TA...
ELK+Kafka 企业日志收集平台(二)
上篇博文主要总结了一下elk、基于kafka的zookeeper集群搭建,以及系统日志通过zookeeper集群达到我们集群的整个过程。下面我们接着下面这个未完成的几个主题 4.Kibana部署; 5.Nginx负载均衡Kibana请求; 6.案例:nginx日志收集以及MySQL慢日志收集; 7.Kibana报表基本使用; Kibana的部署;Kibana的作用,想必大家都知道了就是一个展示工具,报表内容非常的丰富; 下面我们在两台es上面搭建两套kibana 1.获取kibana软件包 [root@es1 ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz[root@es1 ~]# tar -xf kibana-4.2.0-linux-x64.tar.gz -C /usr/local/ 2.修改配置文件 [root@es1 ~]# cd /usr/local/[root@es1 local]# ln -sv kibana-4.1.2-linux-x64 ...
ELK+Kafka 企业日志收集平台(一)
背景:最近线上上了ELK,但是只用了一台Redis在中间作为消息队列,以减轻前端es集群的压力,Redis的集群解决方案暂时没有接触过,并且Redis作为消息队列并不是它的强项;所以最近将Redis换成了专业的消息信息发布订阅系统Kafka, Kafka的更多介绍大家可以看这里:传送门 ,关于ELK的知识网上有很多的哦, 此篇博客主要是总结一下目前线上这个平台的实施步骤,ELK是怎么跟Kafka结合起来的。好吧,动手! ELK架构拓扑:然而我这里的整个日志收集平台就是这样的拓扑: 1,使用一台Nginx代理访问kibana的请求; 2,两台es组成es集群,并且在两台es上面都安装kibana;(以下对elasticsearch简称es) 3,中间三台服务器就是我的kafka(zookeeper)集群啦; 上面写的消费者/生产者这是kafka(zookeeper)中的概念; 4,最后面的就是一大堆的生产服务器啦,上面使用的是logstash,当然除了logstash也可以使用其他的工具来收集你的应用程序的日志,例如:Flume,Scribe,Rsyslog...
清理Elasticsearch的索引
最近在使用 logstash来做日志收集 并用 elasticsearch来搜索,因为日志没有进行过滤,没几天就发现elasticsearch的索引文件大的吓人,之前还真没清理过。其实要说清理 也简单,直接到 elasticsearch data文件夹里删掉就行了,但怎么也得做的有点技术含量不是? 上网站看了看文档,其实也挺简单一条命令就行了 1, # curl -XDELETE ‘http://localhost:9200/logstash-*’ 2, 清理掉了所有的索引文件,我发现curl删除比rm删除要快出很多 下面是主页上的详细介绍,其他部分可以自己看, http://www.elasticsearch.org/guide/reference/api/delet
运维人,你应该了解的三张武功心法图(转载)
一、运维技能图 做为一个运维工程师,你知道你应该学习什么?怎么学习吗?朝哪个方向发展吗?下面一张运维工程师技能图,让你了解! 图片链接,点我^_^ 二、自动化运维路线图 运维自动化在国内已经声名远躁了,随着互联网快速的发展,运维不单单是几个脚本,几个文档可以胜任的!DevOps在国内很受热捧,但是真正的自动化之路,你走到了哪?你知道该怎么走吗?下面的武功心法图告诉你该怎么走! 图片链接,点我^_^ 三、云计算知识大宝典 从2013年开始,我国云计算持续快速发展,产业规模不断扩大,产业链日趋完善,产业环境不断优化。在这种情况下,不少创业者看到了市场,不少云计算公司崛起。但是人才在哪里,哪些是真正的云计算人才?云计算人才他应该会什么,下面Cloud computing image告诉你 图片链接,点我^_^ 由于原作者制作的图片较大,这里不能正常的显示,点击链接然后扩大可清晰看到! 天下武功唯快不攻,这句话运用到互联网,就是你最快、最好、最早的掌握了互联网的最新技术,你就是比较吃香的人才!就像最新比较人们的容器Docker技术一样,如果你是先行者,你现在至少是一家Dock...
Zabbix 监控Mysql状态以及mysql主从
一,利用zabbix自带模板监控mysql状态: 1,在从的mysql服务器上面创建一个用于zabbix监控的用户 grant replication client on . to zabbix@’localhost’ IDENTIFIED BY ‘PASSWORD’; 2,根据zabbix监控mysql的key改写脚本 #/bin/bashDEF=”–defaults-file=/etc/zabbix/my.conf”MYSQL=’/usr/local/webservers/mysql-5.6.19/bin/mysqladmin’ARGS=1if [ $# -ne “$ARGS” ];then echo “Please input one arguement:”ficase $1 in Uptime) result=${MYSQL} $DEF status|cut -f2 -d":"|cut -f1 -d"T" echo $result ;; Com_update) ...
检查文件时间戳,对比时间的Shell脚本
应开发需求,有些锁文件生成之后不会在固定时间内删除,造成程序的计划任务会卡死,于是需要一个检查对比locks文件的脚本来实时检测这个目录下的*.locks文件 12345678910111213141516171819202122232425262728293031#!/bin/bashwhile truedo#获取当前时间curren_time=\`date +%H:%M:%S\` #--time-stype=FORMATls -l --time-style=+%H:%M:%S /xxxxxx/*.locks >/tmp/locks 2>/dev/nullwhile read -r linedo#文件内容file_time=\`echo $line | awk -F ' ' '{print $6}'\` #文件绝对路径及名称File=\`echo $line | awk -F ' ' '{print $7}'\`#转换成Unix时间戳date1=\`date -d "$curren_time" +%s\`date2=\`date -d "$file_time" ...
基于CentOS6.5 X86_64 源码搭建GitLab
系统:CentOS6.5 X86_64 已完成初始化:防火墙、SELinux 关闭、不必要服务停止,不必要用户删除……… 1.添加epel源 wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://www.fedoraproject.org/static/0608B895.txt && rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 #查看Key是否安装成功rpm -qa gpg* 2.安装epel源 rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 3.添加PUIAS源 wget -O /etc/yum.repos.d/PUIAS_6_computational.repo https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/install/centos/PUIAS\_...
通过Inode删除linux下的文件
由于某些原因在我们linux系统上面总会出现一些乱码文件,或者不能正常输入的文件名,当遇到这些无法正常输入的文件名要删除的时候就需要使用文件对应的inode号对文件进行删除。 inode的原理这里就不再说了,具体说明参见:http://www.ruanyifeng.com/blog/2011/12/inode.html 下面这个目录下的文件是我在网上下载的一个网页模板,里面包含了一个不能rm 的文件: 那从何得知 -?+?.txt 这个文件的inode号呢,ls 命令有个参数 -i -i, –inode print the index number of each file 上图中:291606 这个号码就是 这个文件的inode 号啦。然后我们结合find命令就可以将它删除啦